本文主要是介绍log4j自定义日志,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
引言
日志是解决软件产品线上或者测试以及开发过程中重要依据。
概述
Log4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件,甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。今天我们来谈一谈如何通过log4j进行自定义日志的配置,其实说白了,自定义日志就是不同产品对应的不同的业务日志。
内容
1 实现原理:log4j生成日志配置。
2 具体案例:我们产品需要生成业务日志,例如客户端安装与升级日志和客户端启动日志。
(1)log4j.properties配置文件部分配置,只针对自定义日志,其余配置下期再介绍。
LOG_DIR=E\:/log
log4j.rootCategory=ALL,R
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%-5p %d [%t] %c: %m%n
log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
log4j.appender.R.File=/export/home/tomcat/mobile/tomcatLogs/tomcat.log
log4j.appender.R.DatePattern='.'yyyy-MM-dd
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%-5p %d [%t] %c: %m%n
#test
log4j.logger.com.test=ALL,test
log4j.additivity.test = false
log4j.appender.test=org.apache.log4j.FileAppender
log4j.appender.test.File=E:/test.log
log4j.appender.test.layout=org.apache.log4j.PatternLayout
log4j.appender.test.layout.ConversionPattern=[Inspur][%d{yyyy-MM-dd HH:mm:ss}][ %-5p] %C.%M(%L) %x- %m%n
#test下面的代码就是关于自定义日志的配置代码,log4j.logger.com.test=ALL,test是为特定的类配置特定自定义配置引入。
com.test是类的全路径,all代表五种等级的日志都包含;log4j.additivity.test = false标识子Logger只在自己的 appender中输出日志,而不会在父Logger(R)中输出,核心的配置就是这三点,其余属性稍后的博客会讲诉。
(2)对应test类的编写
import org.apache.log4j.Logger;public class test {private static Logger log = Logger.getLogger(test.class);public static void main(String[] args) {log.info("开始日志打印");}}
(3)在E:/test.log下生成日志文件。输出开始日志打印。
总结
通过上述配置,可以为每个业务类分别打印不同的日志输出成不同的文件,来起到业务错误排查以及解决业务问题的作用。
这篇关于log4j自定义日志的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!