import org.apache.log4j.Logger;
import org.apache.log4j.Priority;
import org.apache.log4j.BasicConfigurator;
import org.apache.log4j.PropertyConfigurator;public class Log4JApp {  // Get an instance of the helloappLogger
  static Logger helloappLogger =
    Logger.getLogger("helloappLogger");
  // Get an instance of the childLogger
  static Logger childLogger =
    Logger.getLogger("helloappLogger.childLogger");  public static void main(String[] args) {    // Load the properties using the PropertyConfigurator
    PropertyConfigurator.configure("properties.lcf");    // Log Messages using the Parent Logger
    helloappLogger.debug("This is a log message from the " +
      helloappLogger.getName());
    helloappLogger.info("This is a log message from the " +
      helloappLogger.getName());
    helloappLogger.warn("This is a log message from the " +
      helloappLogger.getName());
    helloappLogger.error("This is a log message from the " +
      helloappLogger.getName());
    helloappLogger.fatal("This is a log message from the " +
      helloappLogger.getName());
    // Log Messages using the Child Logger
    childLogger.debug("This is a log message from the " +
      childLogger.getName());
    childLogger.info("This is a log message from the " +
      childLogger.getName());
    childLogger.warn("This is a log message from the " +
      childLogger.getName());
    childLogger.error("This is a log message from the " +
      childLogger.getName());
    childLogger.fatal("This is a log message from the " +
      childLogger.getName());
  }
}
## LOGGERS ##
#configure root logger
log4j.rootLogger=INFO,console
#define a logger named helloAppLogger 
log4j.logger.helloappLogger=WARN
#define a second logger that is a child to helloAppLogger 
log4j.logger.helloappLogger.childLogger=,file## APPENDERS ##
# define an appender named console, which is set to be a ConsoleAppender
log4j.appender.console=org.apache.log4j.ConsoleAppender# define an appender named file, which is set to be a RollingFileAppender
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=log.txt## LAYOUTS ##
# assign a SimpleLayout to console appender
log4j.appender.console.layout=org.apache.log4j.SimpleLayout# assign a PatternLayout to file appender
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%t %p - %m%n
C:\chapter31>java -classpath .;lib\log4j-1.2.8.jar Log4JApp
Exception in thread "main" java.lang.UnsupportedClassVersionError: Log4JApp (Uns
upported major.minor version 49.0)
        at java.lang.ClassLoader.defineClass0(Native Method)
        at java.lang.ClassLoader.defineClass(Unknown Source)
        at java.security.SecureClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.access$100(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClassInternal(Unknown Source)CLASSPATH也加了C:\chapter31\lib\log4j-1.2.8.jar啥原因?

解决方案 »

  1.   

    感觉是配置的没对.
    看看下面这个.
    #\u914D\u7F6E\u6839Logger    , file, db
    log4j.rootLogger=INFO, stdout#\u914D\u7F6E\u65E5\u5FD7\u4FE1\u606F\u8F93\u51FA\u76EE\u7684\u5730(appender)
    #\u63A7\u5236\u53F0\u8F93\u51FA
    log4j.appender.stdout=org.apache.log4j.ConsoleAppender
    #\u63A7\u5236\u53F0\u8F93\u51FA\u7684\u9009\u9879(\u53EF\u9009)
    #log4j.appender.stdout.Threshold=INFO
    #log4j.appender.stdout.ImmediateFlush=true
    log4j.appender.stdout.Target=System.out
    #\u63A7\u5236\u53F0\u8F93\u51FA\u7684\u683C\u5F0F
    log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
    log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n还有jar包重新复制来试一下.
      

  2.   

    Log4JApp (Uns
    upported major.minor version 49.0) log4j版本冲突按楼上说的换一个看看。
      

  3.   

    换JAR包貌似没用,这个JAR包复制到myeclipse里面是OK的
      

  4.   

    既然jar包没问题,那就找找xml中的问题吧!
    一个一个的试下!应该是哪里配置出了问题!
      

  5.   

    看异常应该是log4j没有放在classpath下。找一个最新版本的仍进去吧。