Форум администраторов игровых серверов

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   Java (https://forum.zone-game.info/forumdisplay.php?f=126)
-   -   Пару вопросов по Intellij IDEA (https://forum.zone-game.info/showthread.php?t=13978)

[STIGMATED] 26.11.2011 03:04

Re: Пару вопросов по Intellij IDEA
 
Подниму темку ненароком)
Пытаюсь запускать гейм сервер прямо из идеи.
Идеевская консоль ругается на 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

NotSpecified 26.11.2011 03:17

Re: Пару вопросов по Intellij IDEA
 
Покажи конфиг свой для log4j )

[STIGMATED] 26.11.2011 03:20

Re: Пару вопросов по Intellij IDEA
 
Когда обычным способом запускать, то нормально всё работает.

Код:

<?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>


NotSpecified 26.11.2011 03:30

Re: Пару вопросов по Intellij IDEA
 
А в настройках IDE прописаны типы файлов которые нужно копировать из исходников?

Ну и что-то похоже log4j.properties не лежит в classpath. А то по логике он не понимает что делать и куда выводить.

[STIGMATED] 26.11.2011 03:37

Re: Пару вопросов по Intellij IDEA
 
Да нет, спасибо, что среди ночи решил помочь. Но проблема заключалась в том, что библиотеки log4j и slf4j конфликтуют.
Пришло время подбить проект под один логгер)

VISTALL 26.11.2011 03:44

Re: Пару вопросов по Intellij IDEA
 
Цитата:

Сообщение от [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

добавь к списку либ - папку где лежит файл и все будет гуд

[STIGMATED] 26.11.2011 03:47

Re: Пару вопросов по Intellij IDEA
 
Избавление от slf4j не помогло, ошибка осталась.

VISTALL, ты имеешь ввиду тот список либ, которые в Project Structure?

Aquanox 26.11.2011 10:06

Re: Пару вопросов по Intellij IDEA
 
Цитата:

Сообщение от [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");
    }
}


VISTALL 26.11.2011 15:18

Re: Пару вопросов по Intellij IDEA
 
Цитата:

Сообщение от Aquanox (Сообщение 149575)
---

как бы у него прослойка slf4j, и конфиг читается с classpath при первом обращении к логеру log4j. И читать вручну ненужно

PS. он уже решил проблему

PS2. Aquanox ставь проэкт Directory Based(.idea) и не нужно делать $module_dir$

Aquanox 27.11.2011 16:04

Re: Пару вопросов по Intellij IDEA
 
Цитата:

Сообщение от VISTALL (Сообщение 149607)
как бы у него прослойка 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 лежат конфигурации для определенных тестов.


Текущее время: 07:08. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot