我当前的配置(并且此配置工作正常)
int
现在我要设置csv布局。我已添加了commons-csv依赖项
here
然后我尝试设置CsvParameterLayout,但是它不起作用
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
如果我只是使用SimpleLayout或PatternLayout并只写log.info(“ string,” +“” string,“ +” string“);您会怎么想?
答案 0 :(得分: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>
答案 1 :(得分:0)
我已经在log4j2中成功使用了
appender.csvSummary.type = File
appender.csvSummary.name = CSVSUMMARY
appender.csvSummary.append=false
appender.csvSummary.fileName = ${csvPrefix}-${SUM}-${date:yyyy-MM-dd-HH-mm-ss}.csv
appender.csvSummary.layoutString.type = CsvParameterLayout
appender.csvSummary.layoutString.delimiter = ,
appender.csvSummary.layoutString.header = path,test_name,outcome\n