# ① 配置根Logger,其语法为:
#
#log4j.rootLogger = [level],appenderName,appenderName2,...
#level是日志记录的优先级,分为OFF,TRACE,DEBUG,INFO,WARN,ERROR,FATAL,ALL
##Log4j建议只使用四个级别,优先级从低到高分别是DEBUG,INFO,WARN,ERROR
#通过在这里定义的级别,您可以控制到应用程序中相应级别的日志信息的开关
#比如在这里定义了INFO级别,则应用程序中所有DEBUG级别的日志信息将不被打印出来
#appenderName就是指定日志信息输出到哪个地方。可同时指定多个输出目的
################################################################################
################################################################################
# ② 配置日志信息输出目的地Appender,其语法为:
#
#log4j.appender.appenderName = fully.qualified.name.of.appender.class
#log4j.appender.appenderName.optionN = valueN
#
#Log4j提供的appender有以下几种:
#1)org.apache.log4j.ConsoleAppender(输出到控制台)
#2)org.apache.log4j.FileAppender(输出到文件)
#3)org.apache.log4j.DailyRollingFileAppender
#4)org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)
#5)org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
#
#1)ConsoleAppender选项属性
# -Threshold = DEBUG:指定日志消息的输出最低层次
# -ImmediateFlush = TRUE:默认值是true,所有的消息都会被立即输出
# -Target = System.err:默认值System.out,输出到控制台(err为红色,out为黑色)
#
#2)FileAppender选项属性
# -Threshold = INFO:指定日志消息的输出最低层次
# -ImmediateFlush = TRUE:默认值是true,所有的消息都会被立即输出
# -File = C:\log4j.log:指定消息输出到C:\log4j.log文件
# -Append = FALSE:默认值true,将消息追加到指定文件中,false指将消息覆盖指定的文件内容
# -Encoding = UTF-8:可以指定文件编码格式
#
#3)DailyRollingFileAppender
# -Threshold = WARN: 指定日志消息的输出最低层次
# -ImmediateFlush = TRUE: 默认值是true,所有的消息都会被立即输出
# -File = C:\log4j.log: 指定消息输出到C:\log4j.log文件
# -Append = FALSE: 默认值true,将消息追加到指定文件中,false指将消息覆盖指定的文件内容
# -DatePattern='.'yyyy-ww: 每周滚动一次文件,即每周产生一个新的文件。还可以按用以下参数:
#
#
#
#
#
#
# -Encoding = UTF-8: 可以指定文件编码格式
#
#4)RollingFileAppender 选项属性
# -Threshold = ERROR: 指定日志消息的输出最低层次
# -ImmediateFlush = TRUE: 默认值是true,所有的消息都会被立即输出
# -File = C:/log4j.log: 指定消息输出到C:/log4j.log文件
# -Append = FALSE: 默认值true,将消息追加到指定文件中,false指将消息覆盖指定的文件内容
# -MaxFileSize = 100KB: 后缀可以是KB,MB,GB.在日志文件到达该大小时,将会自动滚动.如:log4j.log.1
# -MaxBackupIndex = 2: 指定可以产生的滚动文件的最大数
# -Encoding = UTF-8: 可以指定文件编码格式
################################################################################
################################################################################
# ③ 配置日志信息的格式(布局),其语法为:
#
#log4j.appender.appenderName.layout = fully.qualified.name.of.layout.class
#log4j.appender.appenderName.layout.optionN = valueN
#
#Log4j 提供的layout有以下几种:
#5)org.apache.log4j.HTMLLayout( 以HTML表格形式布局)
#6)org.apache.log4j.PatternLayout( 可以灵活地指定布局模式)
#7)org.apache.log4j.SimpleLayout( 包含日志信息的级别和信息字符串)
#8)org.apache.log4j.TTCCLayout( 包含日志产生的时间、线程、类别等等信息)
#9)org.apache.log4j.xml.XMLLayout( 以XML形式布局)
#
#5)HTMLLayout 选项属性
# -LocationInfo = TRUE: 默认值false,输出java文件名称和行号
# -Title=Struts Log Message: 默认值
#
#6)PatternLayout 选项属性
# -ConversionPattern = %m%n: 格式化指定的消息(参数意思下面有)
#
#9)XMLLayout 选项属性
# -LocationInfo = TRUE: 默认值false,输出java文件名称和行号
#
#Log4J 采用类似C语言中的printf函数的打印格式格式化日志信息,打印参数如下:
# %m
# %p
# %r
# %c
# %t
# %n
# %d
#
# %l
#
# %F
# %L
# %x
# %%
#
#
#
#
#
#
################################################################################
################################################################################
# ④ 指定特定包的输出特定的级别
#log4j.logger.org.springframework=DEBUG
################################################################################
#OFF,systemOut,logFile,logDailyFile,logRollingFile,logMail,logDB,ALL
log4j.rootLogger =ALL,systemOut,logFile,logDailyFile,logRollingFile,logMail,logDB
# 输出到控制台
log4j.appender.systemOut =
log4j.appender.systemOut.layout =
log4j.appender.systemOut.layout.ConversionPattern =
log4j.appender.systemOut.Threshold =
log4j.appender.systemOut.ImmediateFlush =
log4j.appender.systemOut.Target =
# 输出到文件
log4j.appender.logFile =
log4j.appender.logFile.layout =
log4j.appender.logFile.layout.ConversionPattern =
log4j.appender.logFile.Threshold =
log4j.appender.logFile.ImmediateFlush =
log4j.appender.logFile.Append =
log4j.appender.logFile.File =
log4j.appender.logFile.Encoding =
# 按DatePattern输出到文件
log4j.appender.logDailyFile =
log4j.appender.logDailyFile.layout =
log4j.appender.logDailyFile.layout.ConversionPattern =
log4j.appender.logDailyFile.Threshold =
log4j.appender.logDailyFile.ImmediateFlush =
log4j.appender.logDailyFile.Append =
log4j.appender.logDailyFile.File =
log4j.appender.logDailyFile.DatePattern =
log4j.appender.logDailyFile.Encoding =
# 设定文件大小输出到文件
log4j.appender.logRollingFile =
log4j.appender.logRollingFile.layout =
log4j.appender.logRollingFile.layout.ConversionPattern =
log4j.appender.logRollingFile.Threshold =
log4j.appender.logRollingFile.ImmediateFlush =
log4j.appender.logRollingFile.Append =
log4j.appender.logRollingFile.File =
log4j.appender.logRollingFile.MaxFileSize =
log4j.appender.logRollingFile.MaxBackupIndex =
log4j.appender.logRollingFile.Encoding =
# 用Email发送日志
log4j.appender.logMail =
log4j.appender.logMail.layout =
log4j.appender.logMail.layout.LocationInfo =
log4j.appender.logMail.layout.Title =
log4j.appender.logMail.Threshold =
log4j.appender.logMail.SMTPDebug =
log4j.appender.logMail.SMTPHost =
log4j.appender.logMail.From =
log4j.appender.logMail.To =
#log4j.appender.logMail.Cc = xly3000@gmail.com
#log4j.appender.logMail.Bcc = xly3000@gmail.com
log4j.appender.logMail.SMTPUsername =
log4j.appender.logMail.SMTPPassword =
log4j.appender.logMail.Subject =
#log4j.appender.logMail.BufferSize = 1024
#log4j.appender.logMail.SMTPAuth = TRUE
# 将日志登录到MySQL数据库
log4j.appender.logDB =
log4j.appender.logDB.layout =
log4j.appender.logDB.Driver =
log4j.appender.logDB.URL =
log4j.appender.logDB.User =
log4j.appender.logDB.Password =
log4j.appender.logDB.Sql =
参考自:http://blog.sina.com.cn/s/blog_5ed94d710101go3u.html
Log4j日志输出路径配置问题
参考:https://www.cnblogs.com/doit8791/p/5372004.html
Log4j屏蔽ssh框架的日志,只显示自己代码中的日志
log4j.logger.org.springframework=OFF
log4j.logger.org.apache.struts2=OFF
log4j.logger.com.opensymphony.xwork2=OFF
log4j.logger.com.ibatis=OFF
log4j.logger.org.hibernate=OFF
我的Log4j配置
log4j.rootLogger =INFO,consoleOut,fileOut,errorFileOut
#console
log4j.appender.consoleOut = org.apache.log4j.ConsoleAppender
log4j.appender.consoleOut.layout = org.apache.log4j.PatternLayout
log4j.appender.consoleOut.layout.ConversionPattern = %-d{yyyy-MM-dd HH\:mm\:ss} [%p] %-5m [%l]%n
log4j.appender.consoleOut.Threshold = INFO
log4j.appender.consoleOut.ImmediateFlush = TRUE
log4j.appender.consoleOut.Target = System.out
#dailyRollingFile above info ,include info,warn,error
log4j.appender.fileOut = org.apache.log4j.DailyRollingFileAppender
log4j.appender.fileOut.layout = org.apache.log4j.PatternLayout
log4j.appender.fileOut.layout.ConversionPattern = %-d{yyyy-MM-dd HH\:mm\:ss} [%p] %-5m [%l]%n
log4j.appender.fileOut.Threshold = INFO
log4j.appender.fileOut.ImmediateFlush = TRUE
log4j.appender.fileOut.File =../logs/dailyFile/Logs.log
log4j.appender.fileOut.Append = TRUE
log4j.appender.fileOut.DatePattern = '.'yyyy-MM-dd
log4j.appender.fileOut.Encoding = UTF-8
#errorFileOut only error
log4j.appender.errorFileOut = org.apache.log4j.DailyRollingFileAppender
log4j.appender.errorFileOut.layout = org.apache.log4j.PatternLayout
log4j.appender.errorFileOut.layout.ConversionPattern = %-d{yyyy-MM-dd HH\:mm\:ss} [%p] %-5m%n [%l]%n
log4j.appender.errorFileOut.Threshold = ERROR
log4j.appender.errorFileOut.ImmediateFlush = TRUE
log4j.appender.errorFileOut.File =../logs/dailyErrorFile/ErrorLogs.log
log4j.appender.errorFileOut.Append = TRUE
log4j.appender.errorFileOut.DatePattern = '.'yyyy-MM-dd
log4j.appender.errorFileOut.Encoding = UTF-8
#forbiden other log
log4j.logger.org.springframework=OFF
log4j.logger.org.apache.struts2=OFF
log4j.logger.com.opensymphony.xwork2=OFF
log4j.logger.com.ibatis=OFF
log4j.logger.org.hibernate=OFF
Hibernate 在输出 SQL 时使用的 logger 名为 org.hibernate.SQL, 所以想要让 SQL 语句输出到 Log4J 或是 Slf4J 日志中(日志文件或是记在别处,由 Appender 决定的),只要在 log4j.properties(log4j.xml 参考相应配置) 中加上:
log4j.logger.org.hibernate.SQL=DEBUG
详细参考:http://blog.youkuaiyun.com/zljjava/article/details/7534349
灵活控制 Hibernate 的日志或 SQL 输出,以便于诊断
###ibatis显示SQL语句部分
log4j.logger.com.ibatis=DEBUG
log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=DEBUG
log4j.logger.com.ibatis.common.jdbc.ScriptRunner=DEBUG
log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=DEBUG
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG