标签:
又很懒了。。 好久没来了,必须自我批评一下。。。
===========================我是分割线=============================
鼎鼎大名的log4j,要说用过吧其实也不算的,以前公司里分工太细,配置log这件事情,压根轮不着我,我只需要知道就行,大概会改个info,debug级别,基本上也就不需要干别的了,所以对于它的使用也是模模糊糊,唉,其实是压根不知道。惭愧。。。好弱。。。
这次自己些小工具,可以配置log 当然用system.out.println 也是可以的。。。。 只不过这样真的太low了。。。。
所以还是要想着用一下滴,然后就在网上搜了搜大概怎么用,都干哈的,怎么回事稍微了解了一下。
这是我从好几个博客上摘抄过来了, 最后会附上原文连接的。
1. 在maven中引用包
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.15</version>
</dependency>
2. 代码中使用
大概是这样屎儿的:
Log logger = LogFactory.getLog(ClassName.class.getName());
logger.info("lalalala").
3. 配置logging.properties
log4j.rootLogger=INFO,all #这个配置了吧,默认所有的log都会遵循这个(没有特殊定制的)
log4j.appender.console=org.apache.log4j.ConsoleAppender #默认的appender, 这个是打印到console上
log4j.appender.console.layout=org.apache.log4j.PatternLayout #这个吧,布局设置,具体啥可以去官网看看吧 https://logging.apache.org/log4j/1.2/manual.html
log4j.appender.console.layout.ConversionPattern=%d %-5p %X{processor} %X{module} %X{file} [%t] %c - %m%n # 这个是输出的log每一行的格式,具体意义文后看
# 单独配置一个类的log输出格式
log4j.logger.util.UtilClass=DEBUG,ee #如果想要单独给某个类或者某个package中的log特殊指定一下,可以用这个log4j.logger.<包名,或者类名>指定logger, 具体在显示的时候会优先选择粒度最小的相应logger,也就是说如果同时指定了包,以及这个包里面的类的logger,那个这个类就会按照这个类的logger来显示log, 包中其它的类则按照包的logger显示。“ee”是指向相应的名称,可以随便起名,不过不要忘记定义对应的appender,这里也可以有多个appender,到时候log就会在多个地方显示啦。
log4j.appender.ee=org.apache.log4j.RollingFileAppender #指定具体怎么处理,这个是指如果文件大小超出限制,就新建个文件存储。 还有写别的,后面会貼。 注意一下“ee” 这个东东,是我在logger那里指定的appender的名称哦。
log4j.appender.ee.File=C:\\temp\\logs\\utils.log #要将log存到哪个文件中
log4j.appender.ee.MaxFileSize=100MB #文件大小的配置
log4j.appender.ee.MaxBackupIndex=10 #最多几个文件,多了就删掉啦。
log4j.appender.ee.layout=org.apache.log4j.PatternLayout
log4j.appender.ee.layout.ConversionPattern=%d %-5p %X{processor} %X{module} %X{file} [%t] %c - %m%n
4. 最后我要怎么使这个配置文件啊。。。。 此段纯复制粘贴的
在默认情况下 log4j 会从WEB-INF/classes/ 下读取log4j.properties
我们可以通过多种方式修改配置文件的位置
a.在web.xml中指定:
web.xml
Xml代码 收藏代码
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/classes/log4j.properties</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
b.注册在System.properties里
Java代码 收藏代码
-Dlog4j.configuration=file:/home/bea/log4j1.propertie
c.注册在环境变量里
Java代码 收藏代码
LOG4J_CONFIG_FILE=/home/bea/log4j.properties
最后,复制粘贴一些前面挖下的坑:
Log4J配置文件的基本格式如下:
其中 [level] 是日志输出级别,共有5级:
Appender 为日志输出目的地,Log4j提供的appender有以下几种:
Layout:日志输出格式,Log4j提供的layout有以下几种:
打印参数: Log4J采用类似C语言中的printf函数的打印格式格式化日志信息,如下:
剩下的看原文吧:
http://blog.csdn.net/azheng270/article/details/2173430/
http://blog.csdn.net/memray/article/details/18193449
http://www.thinksaas.cn/group/topic/101727/
http://www.blogjava.net/wilesun/archive/2007/10/30/156999.html
标签:
原文地址:http://www.cnblogs.com/exxia/p/5083581.html