Сообщений: 5,670
Тем: 145
Зарегистрирован: Nov 2008
Репутация:
33,771
Подниму темку ненароком)
Пытаюсь запускать гейм сервер прямо из идеи.
Идеевская консоль ругается на log4j.
Цитата:log4j:WARN No appenders could be found for logger (l2p.commons.versioning.Version).
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 кидал в указанные out папки. Выдохся уже, выручайте.
Забыл добавить, строка запуска
Код: "C:\Program Files\Java\jdk1.7.0_01\bin\java" -Didea.launcher.port=7532 "-Didea.launcher.bin.path=C:\Program Files (x86)\JetBrains\IntelliJ IDEA 10.5.2\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.7.0_01\lib\dt.jar;C:\Program Files\Java\jdk1.7.0_01\lib\jconsole.jar;C:\Program Files\Java\jdk1.7.0_01\lib\sa-jdi.jar;C:\Program Files\Java\jdk1.7.0_01\lib\tools.jar;F:\PROJECT1\goddess\incore\dist\gameserver\production\Main2;F:\PROJECT1\goddess\incore\lib\jacksum-1.7.0.jar;F:\PROJECT1\goddess\incore\lib\javolution.jar;F:\PROJECT1\goddess\incore\lib\org.napile.primitive.jar;F:\PROJECT1\goddess\incore\lib\commons-pool-1.5.6.jar;F:\PROJECT1\goddess\incore\lib\netty-3.2.3.jar;F:\PROJECT1\goddess\incore\lib\commons-io-2.0.1.jar;F:\PROJECT1\goddess\incore\lib\log4j-1.2.16.jar;F:\PROJECT1\goddess\incore\lib\commons-lang3-3.0.jar;F:\PROJECT1\goddess\incore\lib\trove-2.1.0.jar;F:\PROJECT1\goddess\incore\lib\slf4j-log4j12-1.6.1.jar;F:\PROJECT1\goddess\incore\lib\mysql-connector-java-5.1.17.jar;F:\PROJECT1\goddess\incore\lib\ehcache-core-2.4.3.jar;F:\PROJECT1\goddess\incore\lib\commons-math-2.2.jar;F:\PROJECT1\goddess\incore\lib\commons-dbcp-1.4.jar;F:\PROJECT1\goddess\incore\lib\ecj-3.7.jar;F:\PROJECT1\goddess\incore\lib\slf4j-api-1.6.1.jar;F:\PROJECT1\goddess\incore\lib\dom4j-2.0.0-alpha-2.jar;F:\PROJECT1\goddess\incore\lib\mesp-1.02.jar;F:\PROJECT1\goddess\incore\dist\gameserver\production\Main;F:\PROJECT1\goddess\incore\dist\gameserver\production\Main1;C:\Program Files (x86)\JetBrains\IntelliJ IDEA 10.5.2\lib\idea_rt.jar" com.intellij.rt.execution.application.AppMain l2p.gameserver.GameServer
Web программист\разработчик
— Есть только один способ проделать большую работу — полюбить ее. Если вы к этому не пришли, подождите. Не беритесь за дело.
Сообщений: 2,800
Тем: 28
Зарегистрирован: Jan 2011
Репутация:
10,639
Покажи конфиг свой для log4j )
Сообщений: 5,670
Тем: 145
Зарегистрирован: Nov 2008
Репутация:
33,771
Когда обычным способом запускать, то нормально всё работает.
Код: <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"
debug="false">
<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.EnhancedPatternLayout">
<param name="ConversionPattern" value="[%d{HH:mm:ss}] %5p %m%n" />
</layout>
</appender>
<appender name="FILE" class="org.apache.log4j.FileAppender">
<param name="File" value="log/java.log"/>
<param name="Append" value="false"/>
<layout class="org.apache.log4j.EnhancedPatternLayout">
<param name="ConversionPattern" value="[%d{dd.MM.yy HH:mm:ss:SSS}] %5p %c{2}: %m%n" />
</layout>
</appender>
<appender name="GAME" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="log/game.log"/>
<param name="Append" value="true"/>
<param name="DatePattern" value="'.'yyyy-MM-dd"/>
<layout class="org.apache.log4j.EnhancedPatternLayout">
<param name="ConversionPattern" value="[%d{dd.MM.yy HH:mm:ss}] %m%n" />
</layout>
</appender>
<appender name="CHAT" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="log/chat.log"/>
<param name="Append" value="true"/>
<param name="DatePattern" value="'.'yyyy-MM-dd"/>
<layout class="org.apache.log4j.EnhancedPatternLayout">
<param name="ConversionPattern" value="[%d{dd.MM.yy HH:mm:ss}] %m%n" />
</layout>
</appender>
<appender name="ITEM" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="log/item.log"/>
<param name="Append" value="true"/>
<param name="DatePattern" value="'.'yyyy-MM-dd"/>
<layout class="org.apache.log4j.EnhancedPatternLayout">
<param name="ConversionPattern" value="[%d{dd.MM.yy HH:mm:ss}] %m%n" />
</layout>
</appender>
<appender name="GMACTIONS" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="log/gmactions.log"/>
<param name="Append" value="true"/>
<param name="DatePattern" value="'.'yyyy-MM-dd"/>
<layout class="org.apache.log4j.EnhancedPatternLayout">
<param name="ConversionPattern" value="[%d{dd.MM.yy HH:mm:ss}] %m%n" />
</layout>
</appender>
<appender name="DEBUG" class="org.apache.log4j.FileAppender">
<param name="File" value="log/debug.log"/>
<param name="Append" value="false"/>
<layout class="org.apache.log4j.EnhancedPatternLayout">
<param name="ConversionPattern" value="[%d{dd.MM.yy HH:mm:ss:SSS}] %m%n" />
</layout>
</appender>
<appender name="FILEASYNC" class="org.apache.log4j.AsyncAppender">
<param name="Blocking" value="false"/>
<appender-ref ref="FILE"/>
</appender>
<appender name="GAMEASYNC" class="org.apache.log4j.AsyncAppender">
<param name="Blocking" value="false"/>
<param name="BufferSize" value="512"/>
<appender-ref ref="GAME"/>
</appender>
<appender name="CHATASYNC" class="org.apache.log4j.AsyncAppender">
<param name="Blocking" value="false"/>
<param name="BufferSize" value="256"/>
<appender-ref ref="CHAT"/>
</appender>
<appender name="ITEMASYNC" class="org.apache.log4j.AsyncAppender">
<param name="Blocking" value="false"/>
<param name="BufferSize" value="512"/>
<appender-ref ref="ITEM"/>
</appender>
<logger name="game" additivity="false">
<appender-ref ref="GAMEASYNC" />
</logger>
<logger name="chat" additivity="false">
<appender-ref ref="CHATASYNC" />
</logger>
<logger name="item" additivity="false">
<appender-ref ref="ITEMASYNC" />
</logger>
<logger name="gmactions" additivity="false">
<appender-ref ref="GMACTIONS" />
</logger>
<logger name="debug" additivity="false">
<level value="debug"/>
<appender-ref ref="DEBUG" />
</logger>
<logger name="org.hibernate">
<level value="WARN" />
</logger>
<root>
<level value="info"/>
<appender-ref ref="CONSOLE"/>
<appender-ref ref="FILEASYNC"/>
</root>
</log4j:configuration>
Web программист\разработчик
— Есть только один способ проделать большую работу — полюбить ее. Если вы к этому не пришли, подождите. Не беритесь за дело.
Сообщений: 2,800
Тем: 28
Зарегистрирован: Jan 2011
Репутация:
10,639
А в настройках IDE прописаны типы файлов которые нужно копировать из исходников?
Ну и что-то похоже log4j.properties не лежит в classpath. А то по логике он не понимает что делать и куда выводить.
Сообщений: 5,670
Тем: 145
Зарегистрирован: Nov 2008
Репутация:
33,771
Да нет, спасибо, что среди ночи решил помочь. Но проблема заключалась в том, что библиотеки log4j и slf4j конфликтуют.
Пришло время подбить проект под один логгер)
Web программист\разработчик
— Есть только один способ проделать большую работу — полюбить ее. Если вы к этому не пришли, подождите. Не беритесь за дело.
Сообщений: 1,912
Тем: 56
Зарегистрирован: Jan 2009
Репутация:
12,921
[STIGMATED];149562 Написал:Подниму темку ненароком)
Пытаюсь запускать гейм сервер прямо из идеи.
Идеевская консоль ругается на log4j.
Конфиги log4j кидал в указанные out папки. Выдохся уже, выручайте.
Забыл добавить, строка запуска
Код: "C:\Program Files\Java\jdk1.7.0_01\bin\java" -Didea.launcher.port=7532 "-Didea.launcher.bin.path=C:\Program Files (x86)\JetBrains\IntelliJ IDEA 10.5.2\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.7.0_01\lib\dt.jar;C:\Program Files\Java\jdk1.7.0_01\lib\jconsole.jar;C:\Program Files\Java\jdk1.7.0_01\lib\sa-jdi.jar;C:\Program Files\Java\jdk1.7.0_01\lib\tools.jar;F:\PROJECT1\goddess\incore\dist\gameserver\production\Main2;F:\PROJECT1\goddess\incore\lib\jacksum-1.7.0.jar;F:\PROJECT1\goddess\incore\lib\javolution.jar;F:\PROJECT1\goddess\incore\lib\org.napile.primitive.jar;F:\PROJECT1\goddess\incore\lib\commons-pool-1.5.6.jar;F:\PROJECT1\goddess\incore\lib\netty-3.2.3.jar;F:\PROJECT1\goddess\incore\lib\commons-io-2.0.1.jar;F:\PROJECT1\goddess\incore\lib\log4j-1.2.16.jar;F:\PROJECT1\goddess\incore\lib\commons-lang3-3.0.jar;F:\PROJECT1\goddess\incore\lib\trove-2.1.0.jar;F:\PROJECT1\goddess\incore\lib\slf4j-log4j12-1.6.1.jar;F:\PROJECT1\goddess\incore\lib\mysql-connector-java-5.1.17.jar;F:\PROJECT1\goddess\incore\lib\ehcache-core-2.4.3.jar;F:\PROJECT1\goddess\incore\lib\commons-math-2.2.jar;F:\PROJECT1\goddess\incore\lib\commons-dbcp-1.4.jar;F:\PROJECT1\goddess\incore\lib\ecj-3.7.jar;F:\PROJECT1\goddess\incore\lib\slf4j-api-1.6.1.jar;F:\PROJECT1\goddess\incore\lib\dom4j-2.0.0-alpha-2.jar;F:\PROJECT1\goddess\incore\lib\mesp-1.02.jar;F:\PROJECT1\goddess\incore\dist\gameserver\production\Main;F:\PROJECT1\goddess\incore\dist\gameserver\production\Main1;C:\Program Files (x86)\JetBrains\IntelliJ IDEA 10.5.2\lib\idea_rt.jar" com.intellij.rt.execution.application.AppMain l2p.gameserver.GameServer
добавь к списку либ - папку где лежит файл и все будет гуд
Сообщений: 5,670
Тем: 145
Зарегистрирован: Nov 2008
Репутация:
33,771
Избавление от slf4j не помогло, ошибка осталась.
VISTALL, ты имеешь ввиду тот список либ, которые в Project Structure?
Web программист\разработчик
— Есть только один способ проделать большую работу — полюбить ее. Если вы к этому не пришли, подождите. Не беритесь за дело.
Сообщений: 509
Тем: 7
Зарегистрирован: Apr 2008
Репутация:
1,660
11-26-2011, 10:06 AM
(Сообщение последний раз редактировалось: 11-26-2011, 10:38 AM Aquanox.)
[STIGMATED];149562 Написал:Подниму темку ненароком)
Пытаюсь запускать гейм сервер прямо из идеи.
Идеевская консоль ругается на log4j.
Конфиги log4j кидал в указанные out папки. Выдохся уже, выручайте.
Забыл добавить, строка запуска
Код: "C:\Program Files\Java\jdk1.7.0_01\bin\java" -Didea.launcher.port=7532 "-Didea.launcher.bin.path=C:\Program Files (x86)\JetBrains\IntelliJ IDEA 10.5.2\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.7.0_01\lib\dt.jar;C:\Program Files\Java\jdk1.7.0_01\lib\jconsole.jar;C:\Program Files\Java\jdk1.7.0_01\lib\sa-jdi.jar;C:\Program Files\Java\jdk1.7.0_01\lib\tools.jar;F:\PROJECT1\goddess\incore\dist\gameserver\production\Main2;F:\PROJECT1\goddess\incore\lib\jacksum-1.7.0.jar;F:\PROJECT1\goddess\incore\lib\javolution.jar;F:\PROJECT1\goddess\incore\lib\org.napile.primitive.jar;F:\PROJECT1\goddess\incore\lib\commons-pool-1.5.6.jar;F:\PROJECT1\goddess\incore\lib\netty-3.2.3.jar;F:\PROJECT1\goddess\incore\lib\commons-io-2.0.1.jar;F:\PROJECT1\goddess\incore\lib\log4j-1.2.16.jar;F:\PROJECT1\goddess\incore\lib\commons-lang3-3.0.jar;F:\PROJECT1\goddess\incore\lib\trove-2.1.0.jar;F:\PROJECT1\goddess\incore\lib\slf4j-log4j12-1.6.1.jar;F:\PROJECT1\goddess\incore\lib\mysql-connector-java-5.1.17.jar;F:\PROJECT1\goddess\incore\lib\ehcache-core-2.4.3.jar;F:\PROJECT1\goddess\incore\lib\commons-math-2.2.jar;F:\PROJECT1\goddess\incore\lib\commons-dbcp-1.4.jar;F:\PROJECT1\goddess\incore\lib\ecj-3.7.jar;F:\PROJECT1\goddess\incore\lib\slf4j-api-1.6.1.jar;F:\PROJECT1\goddess\incore\lib\dom4j-2.0.0-alpha-2.jar;F:\PROJECT1\goddess\incore\lib\mesp-1.02.jar;F:\PROJECT1\goddess\incore\dist\gameserver\production\Main;F:\PROJECT1\goddess\incore\dist\gameserver\production\Main1;C:\Program Files (x86)\JetBrains\IntelliJ IDEA 10.5.2\lib\idea_rt.jar" com.intellij.rt.execution.application.AppMain l2p.gameserver.GameServer
Смотря как ты конфиг подтягиваешь - ресурсом или через фс.
В out кидать надо только если ты читаешь конфиг как ресурс.
Если через файловую - то укажи правильный Working Directory в настройках запуска ( я всегда использую константу $MODULE_DIR$ ).
http://imageshack.us/photo/my-images/411/launch.png/
Да и ещё одно замечание - log4j должен инициализироваться ДО первого использования.
Когда используется конструкция вида
Код: class Main
{
// V !! Это вызовется первым в блоке статической инициализации, вызовет сообщение о ненастроенных логгерах
private static final Logger logger = Logger .getLogger(Main.class);
public static void main(String[] args)
{
// V-- а тут только произойдет настройка log4j.
DomConfigurator.configure("./config/log4j.xml");
}
}
аналогично
Код: class Version
{
// V !! Это вызовется в блоке статической инициализации, вызовет сообщение о ненастроенных логгерах
private static final Logger logger = Logger .getLogger(Main.class);
// V !! Не final, иначе компилятор автоматически подставит константу и обращения к классу не будет.
public static String NAME = "1.0.0";
}
class Main
{
public static void main(String[] args)
{
// V-- здесь пойдет обращение к классу Version, продизведется инициализация класса
System.out.println(Version.NAME);
// V-- а тут только произойдет настройка log4j.
DomConfigurator.configure("./config/log4j.xml");
}
}
Сообщений: 1,912
Тем: 56
Зарегистрирован: Jan 2009
Репутация:
12,921
Aquanox Написал:---
как бы у него прослойка slf4j, и конфиг читается с classpath при первом обращении к логеру log4j. И читать вручну ненужно
PS. он уже решил проблему
PS2. Aquanox ставь проэкт Directory Based(.idea) и не нужно делать $module_dir$
Сообщений: 509
Тем: 7
Зарегистрирован: Apr 2008
Репутация:
1,660
VISTALL Написал:как бы у него прослойка slf4j, и конфиг читается с classpath при первом обращении к логеру log4j. И читать вручну ненужно
PS. он уже решил проблему
PS2. Aquanox ставь проэкт Directory Based(.idea) и не нужно делать $module_dir$
У меня многомодульные проекты (maven) - указывать какой модуль использовать при запуске обязательно.
Цитата:как бы у него прослойка slf4j, и конфиг читается с classpath при первом обращении к логеру log4j. И читать вручну ненужно
Каждому по-своему. Чем надеяться что каталог в котором лежит конфиг попадет в classpath лучше указать где его брать.
SLF4J не читает конфиг log4j, этим занимается сам log4j если на момент первого использования он не был настроен.
У меня 3 файла конфигурации log4j (prod, dev, test) + в test/resources лежат конфигурации для определенных тестов.
|