使用 log4php 将 header 写入日志
Write a header to a log with log4php
我使用 log4php 将 semi-colon 分隔值记录到 csv 文件中。
我想在第一行写一个 header 。如何做到这一点?
例子
消息id、文件名、开始时间、结束时间、状态
MSGID1000;SAMPLE.TXT;01:05:55;07:08:44;确定
MSGID1000;SAMPLE.TXT;01:05:55;07:08:44;NOK
我这样做
csvLogger = Logger::getRootLogger();
csvLogger->setLevel(LoggerLevel::toLevel(LoggerLevel::DEBUG));
csvLogger->removeAllAppenders();
$appender = new LoggerAppenderFile("csvLogAppender");
$appender->setFile("LogMessage.csv");
$appender->setAppend(false);
csvLogger->addAppender($appender);
我找到了扩展 LoggerLayoutPattern
并覆盖 getHeader()
方法的解决方案。
class csvLoggerLayoutPattern extends LoggerLayoutPattern {
public function getHeader() {
return "message id, file name, start time, end time, status\n";
}
}
csvLogger = Logger::getRootLogger();
csvLogger->setLevel(LoggerLevel::toLevel(LoggerLevel::DEBUG));
csvLogger->removeAllAppenders();
$appender = new LoggerAppenderFile("csvLogAppender");
$appender->setFile("LogMessage.csv");
$appender->setAppend(false);
$appenderlayout = new csvLoggerLayoutPattern();
$appenderlayout->activateOptions();
$appender->setLayout($appenderlayout);
csvLogger->addAppender($appender);
我使用 log4php 将 semi-colon 分隔值记录到 csv 文件中。 我想在第一行写一个 header 。如何做到这一点?
例子
消息id、文件名、开始时间、结束时间、状态 MSGID1000;SAMPLE.TXT;01:05:55;07:08:44;确定 MSGID1000;SAMPLE.TXT;01:05:55;07:08:44;NOK
我这样做
csvLogger = Logger::getRootLogger();
csvLogger->setLevel(LoggerLevel::toLevel(LoggerLevel::DEBUG));
csvLogger->removeAllAppenders();
$appender = new LoggerAppenderFile("csvLogAppender");
$appender->setFile("LogMessage.csv");
$appender->setAppend(false);
csvLogger->addAppender($appender);
我找到了扩展 LoggerLayoutPattern
并覆盖 getHeader()
方法的解决方案。
class csvLoggerLayoutPattern extends LoggerLayoutPattern {
public function getHeader() {
return "message id, file name, start time, end time, status\n";
}
}
csvLogger = Logger::getRootLogger();
csvLogger->setLevel(LoggerLevel::toLevel(LoggerLevel::DEBUG));
csvLogger->removeAllAppenders();
$appender = new LoggerAppenderFile("csvLogAppender");
$appender->setFile("LogMessage.csv");
$appender->setAppend(false);
$appenderlayout = new csvLoggerLayoutPattern();
$appenderlayout->activateOptions();
$appender->setLayout($appenderlayout);
csvLogger->addAppender($appender);