使用Log4j 感觉好像就是学怎么写它的配置文件 呵呵!!
log4j.properties
# Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed with # this work for additional information regarding copyright ownership. # The ASF licenses this file to You under the Apache License, Version 2.0 # (the "License"); you may not use this file except in compliance with # the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # For the general syntax of property based configuration files see the # documenation of org.apache.log4j.PropertyConfigurator. # The root category uses the appender called A1. Since no priority is # specified, the root category assumes the default priority for root # which is DEBUG in log4j. The root category is the only category that # has a default priority. All other categories need not be assigned a # priority in which case they inherit their priority from the # hierarchy. # 配置输出swing # log4j.rootCategory=, A1 # A1 is set to be a LF5Appender which outputs to a swing # logging console. # log4j.appender.A1=org.apache.log4j.lf5.LF5Appender # log4j.appender.A1.MaxNumberOfRecords=1000 # 下面是在控制台输出 # Configure logging for testing: optionally with log file log4j.rootLogger= ,stdout,warn,error,fatal # log4j.rootLogger=WARN, stdout, logfile log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n # 文件输出 log4j.appender.warn.Threshold=WARN log4j.appender.warn=org.apache.log4j.FileAppender log4j.appender.warn.File=test/first/warn.log log4j.appender.warn.append=true log4j.appender.warn.layout=org.apache.log4j.PatternLayout log4j.appender.warn.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c] [%p] - %m%n log4j.appender.error.Threshold=ERROR log4j.appender.error=org.apache.log4j.FileAppender log4j.appender.error.File=test/first/error.log log4j.appender.error.append=true log4j.appender.error.layout=org.apache.log4j.PatternLayout log4j.appender.error.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c] [%p] - %m%n log4j.appender.fatal.Threshold=FATAL log4j.appender.fatal=org.apache.log4j.FileAppender log4j.appender.fatal.File=test/first/fatal.log log4j.appender.fatal.append=true log4j.appender.fatal.layout=org.apache.log4j.PatternLayout log4j.appender.fatal.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c] [%p] - %m%n
MyLogger.java
package test.first;
import org.apache.log4j.*;
class MyLogger{
static String FQCN = MyLogger.class.getName() + ".";
private Logger common_log = Logger.getLogger("stdout");
private Logger warn_log = Logger.getLogger("warn");
private Logger error_log = Logger.getLogger("error");
private Logger fatal_log = Logger.getLogger("fatal");
public void debug(Object message) {
common_log.debug(message);
}
public void error(Object message) {
error_log.error(message);
}
public void fatal(Object message) {
fatal_log.fatal("fatal");
}
public void info(Object message) {
common_log.info(message);
}
public void warn(Object message) {
warn_log.warn(message);
}
}
Test.java
package test.first;
public class Test{
public static void main(String[] args) {
MyLogger log = new MyLogger();
log.debug("debug");
log.info("info");
log.warn("warn");
log.error("error");
log.fatal("fatal");
}
}