Tôi không sử dụng tệp cấu hình hoặc xml để định cấu hình log4j vì không cần định cấu hình nó sâu. Tôi chỉ cần in các tin nhắn vào giao diện điều khiển. vì vậy tôi làm điều này:Cách cấu hình log4j để chỉ ghi thông tin thông tin và cao hơn?
BasicConfigurator.configure();
và in chỉ thông tin và tin nhắn cao hơn tôi làm điều này:
Logger LOG = Logger.getLogger(MyClass.class)
LOG.setLevel(Level.INFO);
Nhưng tuy nhiên tôi thấy các thông điệp debug trong giao diện điều khiển quá. Nhưng tôi chỉ cần thông tin và thực sự là thông báo lỗi được in.
Cách thực hiện việc này?
UPD: Tôi tạo ra một tập tin cấu hình với chứa, như mô tả trong hướng dẫn ở đây: manual sau:
log4j.rootLogger=INFO, stdout
# Direct log messages to stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L %m%n
log4j.logger.com.messagedna.facade=INFO
log4j.logger.com.messagedna.receiver=INFO
log4j.logger.com.messagedna.util=INFO
log4j.logger.com.messagedna.parser=INFO
tôi đặt nó vào com.messagedna
Trong mỗi lớp Tôi cần logger trong Tôi đã viết như sau:
Properties props = new Properties();
try {
props.load(new FileInputStream("/log4j.properties"));
} catch (Exception e){
LOG.error(e);
}
PropertyConfigurator.configure(props);
nhưng w hen tôi chạy ứng dụng của tôi, tôi nhận được như sau:
log4j:WARN No appenders could be found for logger (com.messagedna.server.util.Config).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
Log4j của bạn sống ở thư mục gốc của hệ thống tệp của bạn ?! –
Tôi không thể vận hành các khái niệm như vậy.Bạn có nghĩa là nơi tập tin cấu hình được hoặc những gì khác? –