2016-06-04 7 views
0

У меня есть разделенные значения двоеточие, зарегистрированные в файле csv с использованием log4php. Я хотел написать заголовок в первой строке. Как это можно сделать?Запись заголовка в журнал с log4php

Пример

идентификатор сообщения, имя файла, время начала, время окончания, статус MSGID1000; sample.txt; 01: 05: 55; 07: 08: 44; OK MSGID1000; sample.txt ; 01: 05: 55; 07: 08: 44; норвежских крон

я это сделать

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); 

ответ

0

я нашел решение расширить 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);