渡されたコマンドライン引数に従って、SMSをさまざまなモバイルネットワークに送信する単一のファイルがあります。Vodafone、3ネットワーク、T-Mobile、O2など。したがって、議論が通過したとき
$Run SMSDaemon 3Network // sends sms to 3 networks's mobile users
$Run SMSDaemon Vodafone // sends sms to Vodafone mobile users
$Run SMSDaemon TMobile // sends sms to TMobile mobile users
$Run SMSDaemon O2 // sends sms to O2 mobile users
ここで、モバイルネットワークに応じてログ情報やデバッグメッセージを個別に取得できるように、個別のネットワーク用に個別のログファイルを作成したいと思います。
SMSDaemonのファイルは1つしかないので、次のことを試しましたが、ファイルに何も書き込まれていません。log4j.propertiesファイルで定義されているファイルにのみ書き込んでいます。だから、私はlog4j.propertiesに何を書くべきか、そしてこのJavaファイルに何を書くべきか混乱していますか?
public static void main(String[] args) {
if( args.length != 1 { return;}
networkUnique = args[0];
setLogProps(networkUnique);
//other codes and in setLogProps method
private static void setLogProps(String networkUnique)
{
log = Logger.getLogger(networkUnique);
Properties logprops=new Properties();
logprops.setProperty("log4j.appender.file","org.apache.log4j.FileAppender");
logprops.setProperty("log4j.appender.file.maxFileSize","300MB");
logprops.setProperty("log4j.appender.file.maxBackupIndex","100");
logprops.setProperty("log4j.appender.file.File","/etc/sms/"+networkUnique+".log");
logprops.setProperty("log4j.appender.file.threshold","debug");
logprops.setProperty("log4j.appender.file.layout","org.apache.log4j.PatternLayout");
logprops.setProperty("log4j.appender.file.layout.ConversionPattern","%d [%t] %-5p [%-35F : %-25M : %-6L] %-C -%m%n");
logprops.setProperty("log4j.appender.stdout","org.apache.log4j.FileAppender");
PropertyConfigurator.configure(logprops);
log.info("Log message Starting for "+ networkUnique);
}
log4j.propertiesファイルには以下が書き込まれます。すべてのログは、このプロパティで定義されているnetwork.logファイルに書き込まれます。これは私の要件に従っていません。SMSDaemonsetLogPropsメソッドで定義された個別のネットワーク用の個別のログが必要です。
# Define the root logger with appender file
#log = /etc/sms/
log4j.rootLogger = info, FILE
# Define the file appender
log4j.appender.FILE=org.apache.log4j.FileAppender
#log4j.appender.FILE.File=${log}/network.log
# Define the layout for file appender
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.conversionPattern=%m%n
提案してください。
前もって感謝します。