我正在使用Spring,并使用log4j进行日志记录。现在,我有一个特定的要求将某些内容记录在特定的文件中,这是审核文件。以下是我为此使用的配置。
试图使用以下语法访问特定文件,但两者均不起作用并显示以下语法。
private Logger logger = Logger.getLogger("AUDIT_APPENDER");
private Logger logger = Logger.getLogger("audit");
配置: 名称:默认 状态:“调试”
属性: 属性: 名称:base_pattern_layout 值:“%d {DEFAULT} {GMT + 0}%X {user-identifier}”
申请者:
RollingFile:
- name: Test1_APPENDER
fileName: ${LOG_DIR}/service.log
filePattern: ${LOG_DIR}/test.%d{yyyyMMdd}.log.gz
PatternLayout:
Pattern: "app > ${base_pattern_layout} %-5level %logger{8}:%line - %msg%n"
Policies:
TimeBasedTriggeringPolicy:
interval: "1"
DefaultRolloverStrategy:
Delete:
basePath: ${LOG_DIR}
IfFileName:
glob: "service.*.log.gz"
IfLastModified:
age: "1d"
- name: AUDIT_APPENDER
fileName: ${LOG_DIR}/audit.log
filePattern: ${LOG_DIR}/audit.%d{yyyyMMdd}.log.gz
PatternLayout:
Pattern: "aud > ${base_pattern_layout} %-5level %msg%n"
Policies:
TimeBasedTriggeringPolicy:
interval: "1"
DefaultRolloverStrategy:
Delete:
basePath: ${LOG_DIR}
IfFileName:
glob: "audit.*.log.gz"
IfLastModified:
age: "1d"
Console:
- name: Test1_APPENDER
target: SYSTEM_OUT
PatternLayout:
Pattern: "app > ${base_pattern_layout} %logger{8}:%line - %msg%n"
- name: AUDIT_APPENDER
target: SYSTEM_OUT
PatternLayout:
Pattern: "aud > ${base_pattern_layout} - %msg%n"
记录器:
Root:
level: INFO
AppenderRef:
ref: EXT_APPENDER
Logger:
- name: com.test
additivity: false
level: debug
AppenderRef:
ref: Test1_APPENDER
- name: audit
additivity: false
level: INFO
AppenderRef:
ref: AUDIT_APPENDER
答案 0 :(得分:0)
您应在getLogger方法中按如下所示传递类
private static final Logger logger = LogManager.getLogger(Test.class);
创建log4j.properties文件并将其放置在资源文件夹中。 在下面添加内容
# Define the root logger with appender file
log4j.rootLogger = DEBUG, FILE
# Define the file appender
log4j.appender.FILE=org.apache.log4j.FileAppender
# Set the name of the file
log4j.appender.FILE.File=${log}/log.out
# Set the immediate flush to true (default)
log4j.appender.FILE.ImmediateFlush=true
# Set the threshold to debug mode
log4j.appender.FILE.Threshold=debug
# Set the append to false, overwrite
log4j.appender.FILE.Append=false
# Define the layout for file appender
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.conversionPattern=%m%n