почему я не могу запустить log4j (новичок)

#mongodb #log4j #morphia

#mongodb #log4j #морфия

Вопрос:

Я уже запускаю morphia поверх mongDb в 64-битном eclipse win7.
читайте о log4mongo здесь:
http://log4mongo.org/display/PUB/Log4mongo for Java
следуя инструкциям, но получите это:

 log4j:ERROR Could not instantiate class [com.google.code.log4mongo.MongoDbAppender].
    java.lang.ClassNotFoundException: com.google.code.log4mongo.MongoDbAppender
        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.Class.forName0(Native Method)
        at java.lang.Class.forName(Unknown Source)
        at org.apache.log4j.helpers.Loader.loadClass(Loader.java:198)
        at org.apache.log4j.helpers.OptionConverter.instantiateByClassName(OptionConverter.java:326)
        at org.apache.log4j.helpers.OptionConverter.instantiateByKey(OptionConverter.java:123)
        at org.apache.log4j.PropertyConfigurator.parseAppender(PropertyConfigurator.java:752)
        at org.apache.log4j.PropertyConfigurator.parseCategory(PropertyConfigurator.java:735)
        at org.apache.log4j.PropertyConfigurator.configureRootCategory(PropertyConfigurator.java:615)
        at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:502)
        at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:547)
        at org.apache.log4j.helpers.OptionConverter.selectAndConfigure(OptionConverter.java:483)
        at org.apache.log4j.LogManager.<clinit>(LogManager.java:127)
        at org.apache.log4j.Logger.getLogger(Logger.java:117)
        at LogTest.main(LogTest.java:6)
    log4j:ERROR Could not instantiate appender named "MongoDB".
    log4j:WARN No appenders could be found for logger (LogTest).
    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.properties в моей папке eclipse bin (возможно, неправильно, но в другом месте ответа нет).

Эти файлы импортируются:
log4mongo-java-0.7.0.jar
log4j-1.2.16.jar
mongo-2.6.5.jar

Это log4j.properties:

 log4j.rootLogger=error, MongoDB
log4j.appender.MongoDB=com.google.code.log4mongo.MongoDbAppender
log4j.appender.MongoDB.databaseName=appname   
log4j.appender.MongoDB.collectionName=log
  

Я также запускаю оболочку mongo, которая ожидает подключения

вот начало:

 import org.apache.log4j.Logger;

public class LogTest {
    public static void main(String[] args) {
        Logger logger = Logger.getLogger(LogTest.class);
        logger.error("Don't panic");
    }
}
  

это работает так, как ожидалось

 log4j.rootLogger=error, A1
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
  

Ответ №1:

Попробуйте изменить имя приложения.

«com.google.code.log4mongo.MongoDbAppender» -> «org.log4mongo.MongoDbAppender».

log4mongo-java-0.7.0.jar использовал этот пакет.

Комментарии:

1. Я перешел на org.log4mongo. MongoDbAppender и я использую это log4mongo-java-0.7.0.jar . Ошибка исчезла, да. однако я использую MongoVUE, но не могу увидеть имя приложения или какой-либо документ журнала. Возможно, бесплатная версия MongoVUE показывает только одну базу данных

2. Документ здесь -> » github.com/RobertStewart/log4mongo-java/blob/master /… «. Но я не могу объяснить MongoVUE, извините.