我正在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}”
Appenders:
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
您应该按如下所示在getLogger方法中传递Class
private static final Logger logger = LogManager.getLogger(Test.class);