log4j 日志级别_Log4j 配置

c7b21d136f67ff3711ae81b4311074b1.png

我们可以通过设置Log Level,定义Appender和在配置文件中指定Layout对象来配置log4j。

log4j.properties 文件是一个log4j配置文件,它保留键 - 值对中的属性。

默认情况下, LogManager 在CLASSPATH中查找名为log4j.properties的文件。

log4j.properties语法:

以下代码显示了appender X的log4j.properties文件的语法:

# Define the root logger with appender Xlog4j.rootLogger = DEBUG, X# Set 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支持UNIX风格的变量替换,如${variableName}。

以下示例显示如何创建log4j.properties文件。

它将根记录器的级别设置为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

日志级别

我们使用DEBUG和两个appenders。所有可能的选项是:

  • 跟踪
  • 调试
  • 信息
  • 警告
  • 错误
  • 致命
  • 所有

这些级别将在Log4j日志记录级别中解释。

追加者

Apache log4j提供了用于将日志消息打印到不同目标(如控制台,文件,套接字,NT事件日志等)的Appender对象。

每个Appender对象都具有与其关联的不同属性,这些属性指示该对象的行为。

属性描述layoutAppender使用布局对象和转换模式来格式化日志记录信息。target目标可以是控制台,文件或其他项目,具体取决于附加程序。level级别过滤日志消息。thresholdAppender可以具有阈值级别,并忽略具有低于阈值级别的级别的任何日志记录消息。filterFilter对象决定日志记录请求是由特定Appender处理还是忽略。

我们可以使用以下方法在配置文件中添加一个Appender对象到Logger:

log4j.logger.[logger-name]=level, appender1,appender..n

我们可以用XML格式编写相同的配置。

要添加Appender对象,请使用以下方法:

public void addAppender(Appender appender);

addAppender()方法将Appender添加到Logger对象。我们可以在逗号分隔的列表中添加许多Appender对象到记录器。

所有可能的追加者选项是:

  • AppenderSkeleton
  • AsyncAppender
  • ConsoleAppender
  • DailyRollingFileAppender
  • ExternallyRolledFileAppender
  • FileAppender
  • JDBCAppender
  • JMSAppender
  • LF5Appender
  • NTEventLogAppender
  • NullAppender
  • RollingFileAppender
  • SMTPAppender
  • SocketAppender
  • SocketHubAppender
  • SyslogAppender
  • TelnetAppender
  • WriterAppender

日志布局

我们可以使用下面的布局列表。

  • DateLayout
  • HTMLLayout生成HTML格式的消息。
  • PatternLayout
  • SimpleLayout
  • XMLLayout生成XML格式的消息

输出到控制台

以下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

以下xml代码将重写上面列出的配置。

<?xml version="1.0" encoding="UTF-8" ?>

输出到文件

以下 log4j.properties 显示如何将信息记录到文件。

# 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:my.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

以下xml代码重写上面列出的配置。

<?xml version="1.0" encoding="UTF-8" ?>

输出到控制台和文件

以下 log4j.properties 显示如何将信息记录到文件和控制台。

# Root logger optionlog4j.rootLogger=INFO, file, stdout # Direct log messages to a log filelog4j.appender.file=org.apache.log4j.RollingFileAppenderlog4j.appender.file.File=C:my.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

以下xml代码将重写上面列出的配置。

<?xml version="1.0" encoding="UTF-8" ?>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值