最新要闻

广告

手机

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

家电

Log4j 配置

来源:博客园


(资料图)

1. Log4j 1.2.17 properties配置

1.1 准备工作

  • 创建maven工程
  • 引入log4j的jar包
            log4j            log4j            1.2.17        

1.2 配置文件(properties和xml二选一)

log4j.properties
# log4j 配置## 输出log到控制台log4j.rootLogger=fatal,consolelog4j.appender.console = org.apache.log4j.ConsoleAppenderlog4j.appender.console.target = System.outlog4j.appender.console.layout = org.apache.log4j.PatternLayoutlog4j.appender.console.layout.conversionPattern = %d{yyyy-MM-dd HH:mm:ss:SSS} %l [%-5p] %m%n## 输出日志到文件1log4j.logger.demo1=warn,demo1log4j.appender.demo1 = org.apache.log4j.DailyRollingFileAppenderlog4j.appender.demo1.Append = truelog4j.appender.demo1.file = ./logs/demo1.loglog4j.appender.demo1.DatePattern = .yyyyMMddlog4j.appender.demo1.Threshold = tracelog4j.appender.demo1.layout = org.apache.log4j.PatternLayoutlog4j.appender.demo1.layout.conversionPattern = %d{yyyy-MM-dd HH:mm:ss:SSS} %l [%-5p] %m%n## 输出日志到文件2log4j.logger.demo2=fatal,demo2log4j.appender.demo2 = org.apache.log4j.DailyRollingFileAppenderlog4j.appender.demo2.Append = truelog4j.appender.demo2.file = ./logs/demo2.loglog4j.appender.demo2.DatePattern = .yyyyMMddlog4j.appender.demo2.Threshold = tracelog4j.appender.demo2.layout = org.apache.log4j.PatternLayoutlog4j.appender.demo2.layout.conversionPattern = %d{yyyy-MM-dd HH:mm:ss:SSS} %l [%-5p] %m%n
log4j.xml
                                                                                                                                                                                                                                                                                  

1.3 测试

public static void main(String[] args) {        Logger log = Logger.getLogger("demo3");        log.fatal(" 严重错误,一般造成系统崩溃并终止运行");        log.error(" 错误信息,不会影响系统运行");        log.warn(" 警告信息,可能会发生问题");        log.info(" 运行信息,数据连接,网络连接,IO操作等");        log.debug(" 调试信息,一般在开发中使用,记录程序变量传递信息等等");        log.trace(" 追踪信息,记录程序所有的流程信息");    }

1.4 关于日志输出格式

%p: 输出日志信息优先级,即DEBUG,INFO,WARN,ERROR,FATAL,%d: 输出日志时间点的日期或时间,默认格式为IS08601,也可以在其后指定格式,比如: %dyyy MMM dd HH:mm:ss,SSS},输出类似2002年10月18日 22: 10: 28,921%r: 输出自应用启动到输出该1og信息耗费的毫秒数%c: 输出日志信息所属的类目,通常就是所在类的全名%t: 输出产生该日志事件的线程名%l: 输出日志事件的发生位置,相当于%C,%M(%;%)的组合,包括类目名、发生的线程,以及在代码中的行数。举例:Test1og4.main(TestLog4.Java:10)%x: 输出和当前线程相关联的NDC(嵌套诊断环境),尤其用到像Java servlets这样的多客户多线程的应用中,输出一个”%”字符%%:%F: 输出日志消息产生时所在的文件名称%L: 输出代码中的行号%m: 输出代码中指定的消息,产生的日志具体信息%n: 输出一个回车换行符,windows平台为”r n”,unix平台为”n”输出日志信息换行

2. log4j2 配置

2.1 准备工作

  • 创建maven工程
  • 引入依赖
                    org.apache.logging.log4j            log4j-core            2.20.0                                    org.apache.logging.log4j            log4j-api            2.20.0        

2.2 配置文件

log4j2的配置文件不再支持properties,但同时支持log4j2.xml,log4j.json,log4j.jsn等名称的配置文件.这里只展示xml配置方法

log4j2.xml
            ./logs                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                

1.3 关于日志输出格式

%c 输出logger名称%C 输出类名%d{HH:mm:ss.sss} 表示输出到毫秒的时间%t 输出当前线程名称%-5level 输出日志级别,-5表示左对齐并且固定输出5个字符.如果不足在右边补0%logger 输出logger名称因为Root Logger没有名称,所以没有输出%msg 日志文本%n 换行其他常用的占位符有:%F 输出所在的类文件名,如Log4j2Test.java%L 输出行号%M或%method 输出所在方法名%l 输出完整的错误位置,包括类名、方法名、文件名、行数%p 该条日志的优先级%replace{patternHregexHsubstitution} 将pattern的输出结果pattern按照正则表达式regex替换成substitution

关键词: