log4j详细配置
参考博客:https://blog.csdn.net/sinat_30185177/article/details/73550377
log4j。。很简单好用的一个记录日志的东东,正因为好用,本人从来没有亲自配置过(都是别人在项目里面配好的,直接copy过来用),但是最近进了一家新公司,(或许因为某些原因)他们封装了一个日志工具类日志打印特定的信息,因为此项目以后由我接手,所以我做主就后来改了日志打印方式,原本代码如下:
此方式称之为方法一..
public class LogTool {
    public static void debugSysLog(String logtext) {
        writeLog(logtext,"info");
        System.out.println(logtext);
    }
    static Logger log = Logger.getLogger(LogTool.class);
    public static void writeLog(String msg,String level){
        if(level.equals("debug"))
            log.debug(msg);
        else if(level.equals("error"))
            log.error(msg);
        else if(level.equals("warn"))
            log.warn(msg);
        else
            log.info(msg);
    }
}
log4j.properties的代码:
log4j.rootLogger=INFO,logfile,stdout,DEBUG #输出到控制台
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c]:%l - %m%n #log4j.appender.logfile=org.apache.log4j.FileAppender
#log4j.appender.logfile=org.apache.log4j.RollingFileAppender
#log4j.appender.logfile.MaxFileSize=1MB #输出到文件
log4j.appender.logfile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.logfile.DatePattern='.'yyyy-MM-dd log4j.appender.logfile.File=${catalina.home}/webapps/logs/invoice.log #log4j.appender.logfile.MaxBackupIndex=20
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d %p : %l - %m%n
上面的log4j配置文件我已经修改过了,原本的是不打印错误信息的,即下面的一些东东记一下就行了。
#%m   输出代码中指定的消息
#%p   输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL 
#%r   输出自应用启动到输出该log信息耗费的毫秒数 
#%c   输出所属的类目,通常就是所在类的全名 
#%t   输出产生该日志事件的线程名 
#%n   输出一个回车换行符,Windows平台为“/r/n”,Unix平台为“/n” 
#%d   输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss , SSS},输出类似:2002年10月18日  22:10:28 
#%l   输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main(TestLog4.java: 10 )
%7DSV7R3[M[F.png)
使用工具类打印的信息如上图红色部分(很整洁,漂亮,,有乱用??有一次项目报错空指针,都不知道哪里错的。。)
方法二:
使用同样的配置文件,在项目里面使用如下代码打印日志,会提示的很完整,且方法一能实现的方法二都可以实现..
Logger log = Logger.getLogger(InvoiceBuildServlet.class);
在catch里面用 log.error("error",e);
很简单。。
下面是配置文件源文件的下载地址
https://files.cnblogs.com/files/haopengchen/log4j.properties.zip
log4j详细配置的更多相关文章
- java日志框架log4j详细配置及与slf4j联合使用教程
		最后更新于2017年02月09日 一.log4j基本用法 首先,配置log4j的jar,maven工程配置以下依赖,非maven工程从maven仓库下载jar添加到“build path” <d ... 
- [转载]java日志框架log4j详细配置及与slf4j联合使用教程
		一.log4j基本用法 首先,配置log4j的jar,maven工程配置以下依赖,非maven工程从maven仓库下载jar添加到“build path” 1 2 3 4 5 <dependen ... 
- java日志框架log4j详细配置及与slf4j使用教程
		一.log4j基本用法 首先,配置log4j的jar,maven工程配置以下依赖,非maven工程从maven仓库下载jar添加到“build path” 1 2 3 4 5 <dependen ... 
- Log4j详细配置解释
		原文地址:https://www.cnblogs.com/godtrue/p/6444158.html log4j(七)——log4j.xml简单配置样例说明 一:测试环境与log4j(一)——为什么 ... 
- log4j详细配置解析
		出自:http://www.blogjava.net/zJun/archive/2006/06/28/55511.html Log4J的配置文件(Configuration File)就是用来设置记录 ... 
- springmvc 项目完整示例06 日志–log4j 参数详细解析 log4j如何配置
		Log4j由三个重要的组件构成: 日志信息的优先级 日志信息的输出目的地 日志信息的输出格式 日志信息的优先级从高到低有ERROR.WARN. INFO.DEBUG,分别用来指定这条日志信息的重要程度 ... 
- Log4j.properties配置详细解读
		Log4j.properties配置 Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局).这里可简单理解为日志类别,日志要输出的地方和日志以 ... 
- log4j.properties详细配置
		转自:http://blog.sina.com.cn/s/blog_5ed94d710101go3u.html ①配置根Logger,其语法为: #log4j.rootLogger = [level] ... 
- Maven项目引入log4j的详细配置
		注:本文来源于 _xiaoxiong <Maven项目引入log4j的详细配置> 引入log4j pom.xml <dependency> <groupId>lo ... 
随机推荐
- [Swift]LeetCode272. 最近的二分搜索树的值 II $ Closest Binary Search Tree Value II
			Given a non-empty binary search tree and a target value, find k values in the BST that are closest t ... 
- Kubernetes---Pod的扩容和缩容
			用RC的Scale机制来实现Pod的扩容和缩容 把redis-slave的pod扩展到3个 , kubectl scale rc redis-slave --replicas=3 现在来缩容,把 ... 
- djang-异步——定时操作
			django本身是一个同步框架,flask也是,所以要把它变成异步操作的话还得专门设置一下 我的这个系统呢是windows系统,python3.7的 所以有的库是不可以兼容的 ,然后到时候会稍微修改一 ... 
- Xapian使用入门
			关键字:搜索引擎.Xapian 一篇拖了两三年的入门总结文章,今天发出来,一方面是自己的总结,另一方面是给自己和他人的备忘.读者需要对搜索引擎有初步了解,譬如了解倒排.term.doc.相似度打分等概 ... 
- PyCharm无法激活
			如果你激活软件遇到问题 (Pycharm.GoLand.idea.phpstorm.webstorm.sublime.ultraEdit.win10等等) 比如: 激活框提示Key is invali ... 
- redhat 6.5安装ansible
			安装epel 源: rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm 安装ansible ... 
- Kibana安全特性之权限控制
			1. 前言 在之前的例子中,我们都是直接输入地址访问的,系统也没有提示我们要输入用户名密码.但是,在实际使用过程中不大可能所有人都是超级管理员可以做任何操作,一定是有权限控制的,这里我们借助X-Pa ... 
- Android创建或删除了文件,在电脑端查看的时候,却没有对应的变化,处理办法
			在Android应用中,碰到一个问题,在代码中执行创建或者删除某个文件后,在系统的文件管理器中能够相应地看到文件的变化,但是插在电脑上查看的时候,却看不到改文件的变化.同时,当创建文件后,在系统中的某 ... 
- PE知识复习之PE的节表
			PE知识复习之PE的节表 一丶节表信息,PE两种状态.以及重要两个成员解析. 确定节表位置: DOS + NT头下面就是节表. 确定节表数量: 节表数量在文件头中存放着.可以准确知道节表有多少个. 节 ... 
- RocketMQ源码分析之RocketMQ事务消息实现原理上篇(二阶段提交)
			在阅读本文前,若您对RocketMQ技术感兴趣,请加入 RocketMQ技术交流群 根据上文的描述,发送事务消息的入口为: TransactionMQProducer#sendMessageInTra ... 
