#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, извините.