こんにちはlog4php.propertiesのログファイル名とパスを動的に変更するにはどうすればよいですか?
log4php.appender.A8.File = .. / logs / logs.log
ありがとう
こんにちはlog4php.propertiesのログファイル名とパスを動的に変更するにはどうすればよいですか?
log4php.appender.A8.File = .. / logs / logs.log
ありがとう
2 つの有用な情報:
(1) user367134 による以前の回答は役に立ちますが、バグがあります。レベルを設定するときは、LoggerLevel::DEBUG で示される定数整数値に設定しないでください。代わりに、LoggerLevel::toLevel() 関数を使用して LoggerLevel オブジェクトを取得する必要があります。つまり、
$rootlogger->setLevel(LoggerLevel::DEBUG);
代わりに次のようにする必要があります。
$rootlogger->setLevel(LoggerLevel::toLevel(LoggerLevel::DEBUG));
(2) 上記の例と似た例を次に示しますが、いくつかの違いがあります。
コード:
$rootlogger = Logger::getRootLogger();
$rootlogger->setLevel(LoggerLevel::toLevel(LoggerLevel::INFO));
$appender = new LoggerAppenderRollingFile("MyAppender");
$appender->setFile("custom_name.log", true);
$appender->setMaxBackupIndex(10);
$appender->setMaxFileSize("100MB");
$appenderlayout = new LoggerLayoutPattern();
$pattern = '%d{Y-m-d H:i:s} [%p] %c: %m (at %F line %L)%n';
$appenderlayout->setConversionPattern($pattern);
$appender->setLayout($appenderlayout);
$appender->activateOptions();
$rootlogger->removeAllAppenders();
$rootlogger->addAppender($appender);
$rootlogger->info("info");
私のコードではありませんが、ここにサンプルコードとサイトへのリンクがあります
require_once('log4php/Logger.php');
$rootlogger = Logger::getRootLogger();
$rootlogger->setLevel(LoggerLevel::DEBUG);
$appender = new LoggerAppenderFile("MyAppender");
$appender->setFile("mylogfile.log", true);
$appenderlayout = new LoggerLayoutTTCC();
$appender->setLayout($appenderlayout);
$appender->activateOptions();
$rootlogger->removeAllAppenders();
$rootlogger->addAppender($appender);
$rootlogger->info("info");
$rootlogger->error("error");
$rootlogger->debug("debug");
クレジットは「AKJOL」に行きます