本文概述
- FileAppender参数
- 登录多个文件
FileAppender参数FileAppender具有以下可配置参数:
Parameter | Description |
---|---|
immediateFlush | 此标志的默认值为true, 这意味着每次附加操作都会刷新文件的输出流。 |
encoding | 我们可以使用任何字符-编码。默认情况下, 编码是特定于平台的编码方案。 |
threshold | 此附加器的阈值级别。 |
Filename | 日志文件的名称。 |
fileAppend | 默认值为true, 这意味着日志记录信息将附加到同一文件的末尾。 |
bufferedIO | 该标志定义我们是否需要启用缓冲写入。默认值为false。 |
bufferSize | 如果启用了缓冲的I / O或为true, 则指示缓冲大小。默认情况下, 它设置为8kb。 |
【Log4J日志文件】Log4j.properties
# Define the root logger with appender filelog = /usr/home/log4j# Define the root logger with appender filelog4j.rootLogger = DEBUG, FILE# Define the file appenderlog4j.appender.FILE=org.apache.log4j.FileAppender# Set the name of the filelog4j.appender.FILE.File=${log}/log.out# Set the immediate flush to true (default)log4j.appender.FILE.ImmediateFlush=true# Set the threshold to debug modelog4j.appender.FILE.Threshold=debug# Set the append to false, overwritelog4j.appender.FILE.Append=false# Define the layout for file appenderlog4j.appender.FILE.layout=org.apache.log4j.PatternLayoutlog4j.appender.FILE.layout.conversionPattern=%m%n
Example.java
import org.apache.log4j.Logger;
import java.io.*;
import java.sql.SQLException;
import java.util.*;
public class HtmlLayoutEx{static Logger log = Logger.getLogger(HtmlLayoutEx.class.getName());
public static void main(String[] args)throws IOException, SQLException{log.debug("Hello this is a debug message");
log.info("Hello this is an info message");
}}
输出
Hello this is a debug messageHello this is an info message
如果你希望具有一个与上述log4j.properties文件等效的XML配置文件, 则其内容如下:
<
?xml version="1.0" encoding="UTF-8" ?>
<
!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<
log4j:configuration>
<
appender name="FILE" class="org.apache.log4j.FileAppender">
<
param name="file" value="http://www.srcmini.com/${log}/log.out"/>
<
param name="immediateFlush" value="http://www.srcmini.com/true"/>
<
param name="threshold" value="http://www.srcmini.com/debug"/>
<
param name="append" value="http://www.srcmini.com/false"/>
<
layout class="org.apache.log4j.PatternLayout">
<
param name="conversionPattern" value="http://www.srcmini.com/%m%n"/>
<
/layout>
<
/appender>
<
logger name="log4j.rootLogger" additivity="false">
<
level value="http://www.srcmini.com/DEBUG"/>
<
appender-ref ref="FILE"/>
<
/logger>
<
/log4j:configuration>
登录多个文件由于某些原因, 例如文件大小达到某个阈值, 我们还可以将多个消息写入多个文件。
要编写有关登录多个文件的信息, 必须使用org.apache.log4j.RollingFileAppender类, 该类扩展了FileAppender类并继承了其所有属性。
除了上面提到的FileAppender之外, 只有一个重要的参数:
DatePattern:这指示何时滚动文件以及要遵循的命名约定。默认情况下, 过渡在每天的午夜执行。
DatePattern用于通过以下模式之一控制过渡计划:
DatePattern | Description |
---|---|
‘ 。’ yyyy-MM | 每月月底和下个月月初的过渡。 |
‘ 。’ yyyy-MM-dd | 每天午夜滚动。它是默认值。 |
‘ 。’ yyyy-MM-dd-a | 滚动在每天的中午和午夜执行。 |
‘ 。’ yyyy-MM-dd-HH | 每小时顶部滚动一次。 |
‘ 。’ yyyy-MM-dd-HH-mm | 每分钟翻转。 |
‘ 。’ yyyy-ww | 根据语言环境, 在每周的第一天执行转换。 |
# Define the root logger with appender filelog4j.rootLogger = DEBUG, FILE# Define the file appenderlog4j.appender.FILE=org.apache.log4j.DailyRollingFileAppender# Set the name of the filelog4j.appender.FILE.File=${log}/log.out# Set the immediate flush to true (default)log4j.appender.FILE.ImmediateFlush=true# Set the threshold to debug modelog4j.appender.FILE.Threshold=debug# Set the append-false, should not overwritelog4j.appender.FILE.Append=true# Set the DatePatternlog4j.appender.FILE.DatePattern='.' yyyy-MM-dd-a# Define the layout for file appenderlog4j.appender.FILE.layout=org.apache.log4j.PatternLayoutlog4j.appender.FILE.layout.conversionPattern=%m%n
推荐阅读
- Log4j属性详细解释
- 2022全新版!Java分布式架构设计与开发实战一起fen享
- 【JAVA基础】== 与 equals区别
- 在.NET Core console application中使用User Secrets(用户机密)
- Android Studio 导入 Eclipse项目 报 Some file crunching failed, see logs for details
- App测试从入门到精通之界面测试
- 关于富文本在Android中的应用以及遇到的坑
- Android带有粘性头部的ScrollView
- Appium新手入门—— Appium测试用例