当前位置: 首页 > 教程 > Log4j >

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