如何在属性样式中配置log4j csv布局?

问题描述 投票:0回答:1

我当前的配置(这个配置工作正常)

log4j.appender.activity=org.apache.log4j.DailyRollingFileAppender
log4j.appender.activity.file=../logs/activity.log
log4j.appender.activity.append=true
log4j.appender.activity.datePattern='.'yyyy-MM-dd'.log'
log4j.appender.activity.layout=org.apache.log4j.SimpleLayout
log4j.appender.activity.threshold=info

现在我想要设置csv layout.I添加了dependency commons-csv注意到了 here

然后我尝试设置CsvParameterLayout,但它不起作用

log4j.appender.activity.layout=org.apache.log4j.CsvParameterLayout
log4j.appender.activity.layout.delimiter=,
log4j.appender.activity.layout.header=col1,col2,col3,col4

如果我只使用SimpleLayout或PatternLayout并且只写log.info(“string,”+“”string,“+”string“),你怎么看?

java csv logging log4j
1个回答
0
投票

要使用CsvParameterLayout,请确保设置了以下依赖项。

<dependencies>
 <dependency>
  <groupId>org.apache.logging.log4j</groupId>
  <artifactId>log4j-api</artifactId>
  <version>2.4</version>
 </dependency>
 <dependency>
  <groupId>org.apache.logging.log4j</groupId>
  <artifactId>log4j-core</artifactId>
  <version>2.4</version>
 </dependency>
 <dependency>
  <groupId>org.apache.commons</groupId>
  <artifactId>commons-csv</artifactId>
  <version>1.2</version>
 </dependency>
</dependencies>

有时回来我使用这个log4j.xml来记录2列的行。

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
    <Properties>
        <Property name="csvLog.fileName">csvLog</Property>
        <Property name="file-header">column1,column2</Property>
    </Properties>
    <Appenders>
        <RollingFile name="csvFile" 
                     fileName="${csvLog.fileName}.tmp"
                     filePattern="${csvLog.filename}-%d{MM-dd-yyyy}-%i.csv" >
            <CsvParameterLayout delimiter="," header="${file-header}\n"/>
            <Policies>
                <TimeBasedTriggeringPolicy interval="1" modulate="true" />
                <SizeBasedTriggeringPolicy size="10 MB" />
            </Policies>
            <DefaultRolloverStrategy max="200" />
        </RollingFile>
    </Appenders>
    <Loggers>
        <Root level="debug" additivity="false">
            <AppenderRef ref="csvFile" level="debug"/>
        </Root>
    </Loggers>
</Configuration>
© www.soinside.com 2019 - 2024. All rights reserved.