Log4j Properties配置
精华
小牛编辑
106浏览
2023-03-14
log4j.properties文件是Log4J的配置文件,以key-value对形式存储。log4j.properties文件里面包含了Log4j运行过程中的一些配置参数。这些配置参数包括 Appenders信息,日志级别信息,还有日志文件的存储路径等等。
默认情况下,LogManager 在 CLASSPATH 类路径中搜索名为 log4j.properties 的文件。
log4j.properties 语法:
- 根日志记录器的级别定义为 DEBUG。DEBUG 会将名为 X 的 appender 附加到它。
- 将名为 X 的 appender 设置为有效的 appender。
- 为 appender X 设置Layout。
让我们看看 appender X 的 log4j.properties 文件的语法:
# Define the root logger with appender X
log4j.rootLogger = DEBUG, X
# Put the appender named X to be a File appender
log4j.appender.X=org.apache.log4j.FileAppender
# Define the layout for X appender
log4j.appender.X.layout=org.apache.log4j.PatternLayout
log4j.appender.X.layout.conversionPattern=%m%n
log4j.properties 示例:
借助上述语法,我们在 log4j.properties 文件中定义了以下内容:
- 根日志记录器的级别定义为 DEBUG,DEBUG appender 命名为 FILE。
- appender FILE 定义为org.apache.log4j.FileAppender。它写入日志目录中名为 log.out 的文件。
- 指定的Layout模式是 %m%n,这意味着打印的日志消息后将跟一个换行符。
# Define the root logger with appender file
log4j.rootLogger = DEBUG, FILE
# Define the file appender
log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.File=${log}/log.out
# Define the layout for file appender
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.conversionPattern=%m%n
需要注意的是,log4j 支持 UNIX 风格的变量替换,例如 ${variableName}。
log4j.properties 其他示例:
- 输出到控制台
在此示例中,所有日志记录都将重定向到您的控制台:
# Root logger option
log4j.rootLogger=INFO, stdout
# Direct log messages to stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
- 输出到文件
在本例中,所有日志信息都将重定向到您指定的日志文件:
# Root logger option
log4j.rootLogger=INFO, file
# Direct log messages to a log file
log4j.appender.file=org.apache.log4j.RollingFileAppender
#Redirect to Tomcat logs folder
#log4j.appender.file.File=${catalina.home}/logs/logging.log
log4j.appender.file.File=C:\\logigng.log
log4j.appender.file.MaxFileSize=10MB
log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
- 输出到控制台和文件
在此示例中,所有日志记录都将重定向到控制台和日志文件:
# Root logger option
log4j.rootLogger=INFO, file, stdout
# Direct log messages to a log file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=C:\\logging.log
log4j.appender.file.MaxFileSize=10MB
log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
# Direct log messages to stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n