log4j的配置学习

我的 log4j.properties:

# Set root category priority to INFO and its only appender to CONSOLE.
#log4j.rootCategory=INFO, CONSOLE            debug   info   warn error fatal
#配置根Logger
#rootLogger是新的使用名称,对应Logger类
#rootCategory是旧的使用名称,对应原来的Category类
#Logger类是Category类的子类,所以,rootCategory是旧的用法,不推荐使用

log4j.rootCategory=debug, CONSOLE, LOGFILE

# Set the enterprise logger category to FATAL and its only appender to CONSOLE.

log4j.logger.org.apache.axis.enterprise=FATAL, CONSOLE


# CONSOLE is set to be a ConsoleAppender using a PatternLayout.

#配置日志信息输出目的地Appender
#org.apache.log4j.ConsoleAppender(控制台),
#org.apache.log4j.FileAppender(文件),
#org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),
#org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),
#org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender

#Layout:日志输出格式
#org.apache.log4j.HTMLLayout(以HTML表格形式布局),
#org.apache.log4j.PatternLayout(可以灵活地指定布局模式),
#org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),
#org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout

#打印参数: Log4J采用类似C语言中的'printf'函数的打印格式格式化日志信息
# %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 , 921
# %l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。


log4j.appender.CONSOLE.layout.ConversionPattern=%d{ISO8601} %-6r [%15.15t] %-5p %30.30c %x - %m


# LOGFILE is set to be a File appender using a PatternLayout.

log4j.appender.LOGFILE=org.apache.log4j.FileAppender
log4j.appender.LOGFILE.File=d:/learnmaven/day_mybatis/dada.log
log4j.appender.LOGFILE.Append=true
log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.LOGFILE.layout.ConversionPattern=%d{ISO8601} %-6r [%15.15t] %-5p %30.30c %x - %m

 第一个问题:

我看的学习视频是使用的rootCategory,但网上大都是rootLogger,他俩的区别在于什么呢?

官方写的:Category This class has been deprecated and replaced by the Logger subclass.

rootLogger与rootCategory:

rootLogger是新的使用名称,对应Logger类

rootCategory是旧的使用名称,对应原来的Category类

Logger类是Category类的子类,所以,rootCategory是旧的用法,不推荐使用

第二个问题:

就是如何配置,配置的写法,详见我的配置文件都有写了。

第三个问题:我把%d{ISO8601}改为%d{utf-8}报错了,%d是输出日期,ISO8601是格式。没有utf-8这个格式会报错。

 

原文地址:https://www.cnblogs.com/gonT-iL-evoL-I/p/11679405.html