전달 된 명령 줄 인수에 따라 다른 모바일 네트워크에 SMS를 보내는 단일 파일이 있습니다. 보다 폰, 3 네트워크, T 모바일, O2는 .. 그래서, 아규먼트가 나는 정보를 기록 할 수 있도록 별도의 네트워크에 대한 별도의 로그 파일을 만들려면 지금 Java 별도의 프로그램 기록을위한 별도의 로그 파일
$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을 가지고 있기 때문에 다음을 시도했지만 파일에 아무 것도 쓰지 않습니다. 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 파일에 기록됩니다. 이는 필자의 요구 사항에 따르지 않습니다. SMSDaemon setLogProps 메서드에 정의 된 별도의 네트워크에 별도의 로그가 필요합니다.
# 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
제안 해주십시오.
미리 감사드립니다.
죄송합니다. 도움이되지 않았습니다! log4j.appender.TMobile로 시도, 다른 제안! –
그것은 나에게 오류를 주었다. 로거 TMobile에 대한 어떤 appender도 발견되지 않았다 ... 어떤 아이디어? –
메시지는 log4j.properties 파일을 찾을 수 없음을 나타냅니다. 오히려 콘솔 appender를 시도하고 작동하면 log4j.xml 또는 log4j.properties를 수정하십시오. 이것은 도움이 될 수 있습니다 - http://www.coderanch.com/t/63230/open-source/log-log-WARN-No-appenders – Ved