Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > JBoss log4j log-файл для проекта


Автор: MisterCleric 26.2.2008, 11:26
Привет, ребята. 
Может и было уже несколько раз, но я то что нашел, так и не понял
Использую org.apache.commons.logging
Если нечего не писать в jboss-log4j.xml, то нормально все пишет и в консоль и в server.log.
Но хочу, что бі писал в консоль и в отдельный файл, как я его назову. Что бы нормально разбирать логи либ и свои
Заранее спасибо

Автор: Kangaroo 26.2.2008, 11:39
Непонятна связь между этим:
Цитата(MisterCleric @  26.2.2008,  10:26 Найти цитируемый пост)
Использую org.apache.commons.logging

и этим:
Цитата(MisterCleric @  26.2.2008,  10:26 Найти цитируемый пост)
Если нечего не писать в jboss-log4j.xml


Что же вы все таки используете? log4j or commons.logging?

Автор: MisterCleric 26.2.2008, 12:02
 smile Так, а в чем разница, вроде как бы commons.loggin надстойка над log4j. Смотрю даже спринг commons.loggin использует. Так можно ли при такой конфигурации писать в консоль и в свой файл? И если не смотреть на log4j.xml,  то как насроить commons.loggin?

Автор: Kangaroo 26.2.2008, 12:18
хм.. я не прав. Вот почитал, просветился:
Цитата

The Logging package is an ultra-thin bridge between different logging implementations. A library that uses the commons-logging API can be used with any logging implementation at runtime. Commons-logging comes with support for a number of popular logging implementations, and writing adapters for others is a reasonably simple task.



MisterCleric, 
а помощь какая нужна? log4j настроить? Или что-то не получается?

Автор: MisterCleric 26.2.2008, 12:47
Меня не устраивает все писать в server.log хочу свои логи писать в myapp.log. Как нужно настраивать appenders & categories
у меня счас такое
Код

<appender name="MyAppAppender" class="org.apache.log4j.FileAppender">
        <param name="File" value="${jboss.server.home.dir}/log/myapp.log"/>
        <param name="MaxFileSize" value="500KB"/>
        <param name="Append" value="True"/>
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%p - %c %m%n"/>
        </layout>
    </appender>

    <appender name="MYAPP_CONSOLE" class="org.apache.log4j.ConsoleAppender">
        <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
        <param name="Target" value="System.out"/>
        <param name="Threshold" value="INFO"/>

        <layout class="org.apache.log4j.PatternLayout">
            <!-- The default pattern: Date Priority [Category] Message\n -->
            <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n"/>
        </layout>
    </appender>
<category name="mypackage">
        <priority value="INFO"/>
        <appender-ref ref="MyAppAppender"/>
        <appender-ref ref="MYAPP_CONSOLE"/>
    </category>

файл создает, но ничего в него не пишет, а также и в консоль не пишет
Те настройки, которые были по-умолчанию, оставил

Автор: Kangaroo 26.2.2008, 12:58
MisterCleric, вроде все ок. А как пишите логи? Покажите код какого-нибудь класса из mypackage

Автор: MisterCleric 26.2.2008, 13:07
вот так 
Код



Добавлено через 1 минуту и 22 секунды
тю
Код

 protected transient static final Log LOG = LogFactory.getLog(MyClass.class);
 LOG.debug("tru-la-la");

Автор: Kangaroo 26.2.2008, 13:19
MisterCleric, 
у тебя стоит <priority value="INFO"/>, поэтому debug точно не будет выводиться.
LOG.info("tru-la-la") пробовал?

Автор: MisterCleric 26.2.2008, 13:32
так, убрал <priority value="INFO"/>
теперь все выводит и пишет куда надо.
Спасибо за поддержку
 А теперь мне не ясно как сделать, что бы 
[code=xml]
<category name="org.springframework">
        <priority value="WARN"/>
    </category>
[/xml]

в консоль писал только WARN, а в лог еще и все остальное

Автор: Kangaroo 26.2.2008, 13:46
Вот почитай http://forum.vingrad.ru/faq/topic-158000.html, как раз то что надо.
Делаешь два аппендера - в консоль и в лог. На тот, что в консоль, ставишь фильтр Level  >= WARN

Автор: MisterCleric 26.2.2008, 14:41
Спасибо. Все получилось  smile 

Автор: Roba 4.9.2011, 21:59
Цитата(Kangaroo @ 26.2.2008,  13:19)
MisterCleric, 
у тебя стоит <priority value="INFO"/>, поэтому debug точно не будет выводиться.
LOG.info("tru-la-la") пробовал?

У меня все с точностью до наоборот - 
<priority value="DEBUG"/> и 
LOG.info("tru-la-la")
Но тоже не хочет писать в файл. :(

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)