Log4j属性详细解释

本文概述

  • log4j.properties语法
  • log4j.properties示例
  • log4j.properties-其他示例
log4j.properties文件是一个log4j配置文件, 它以键值对的形式存储属性。 log4j属性文件包含log4j使用的整个运行时配置。该文件将包含log4j附加程序信息, 日志级别信息和文件附加程序的输出文件名。
默认情况下, LogManager在CLASSPATH中搜索名为log4j.properties的文件。
log4j.properties语法
  • 根记录器的级别定义为DEBUG。 DEBUG将附加名为X的附加程序。
  • 将名为X的附加程序放入有效的附加程序。
  • 放置追加程序X的布局。
让我们看看附加器X的log4j.properties文件的语法:
# Define the root logger with appender Xlog4j.rootLogger = DEBUG, X# Put the appender named X to be a File appenderlog4j.appender.X=org.apache.log4j.FileAppender# Define the layout for X appenderlog4j.appender.X.layout=org.apache.log4j.PatternLayoutlog4j.appender.X.layout.conversionPattern=%m%n

log4j.properties示例借助以上语法, 我们在log4j.properties文件中定义了以下内容:
  • 根记录器的级别定义为DEBUG, 将DEBUG附加程序命名为FILE。
  • 追加文件FILE定义为org.apache.log4j.FileAppender。它写入位于日志目录中的名称为log.out的文件。
  • 指定的布局模式为%m%n, 这意味着打印的日志消息后将带有换行符。
# Define the root logger with appender filelog4j.rootLogger = DEBUG, FILE# Define the file appenderlog4j.appender.FILE=org.apache.log4j.FileAppenderlog4j.appender.FILE.File=${log}/log.out# Define the layout for file appenderlog4j.appender.FILE.layout=org.apache.log4j.PatternLayoutlog4j.appender.FILE.layout.conversionPattern=%m%n

需要特别注意的是log4j支持UNIX风格的变量替换, 例如$ {variableName}。
log4j.properties-其他示例
  • 输出到控制台
在此示例中, 所有日志记录将重定向到你的控制台:
# Root logger optionlog4j.rootLogger=INFO, stdout# Direct log messages to stdoutlog4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.Target=System.outlog4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

  • 输出到文件
在此示例中, 所有日志记录信息都将重定向到你指定的日志文件:
# Root logger optionlog4j.rootLogger=INFO, file# Direct log messages to a log filelog4j.appender.file=org.apache.log4j.RollingFileAppender#Redirect to Tomcat logs folder#log4j.appender.file.File=${catalina.home}/logs/logging.loglog4j.appender.file.File=C:\\logigng.loglog4j.appender.file.MaxFileSize=10MBlog4j.appender.file.MaxBackupIndex=10log4j.appender.file.layout=org.apache.log4j.PatternLayoutlog4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

  • 输出到控制台和文件
【Log4j属性详细解释】在此示例中, 所有日志记录都将重定向到控制台和日志文件:
# Root logger optionlog4j.rootLogger=INFO, file, stdout# Direct log messages to a log filelog4j.appender.file=org.apache.log4j.RollingFileAppenderlog4j.appender.file.File=C:\\logging.loglog4j.appender.file.MaxFileSize=10MBlog4j.appender.file.MaxBackupIndex=10log4j.appender.file.layout=org.apache.log4j.PatternLayoutlog4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n # Direct log messages to stdoutlog4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.Target=System.outlog4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

    推荐阅读