Статьи

Регистрация в tcServer с помощью Logback & SLF4J

Logback и SLF4J обеспечивают лучшее ведение журнала для Java-приложений. Чтобы настроить VMware vFabric tcServer для использования скорости и гибкости Logback, используйте в качестве отправной точки следующие шаги.

Загрузите tcServer Developer Edition бесплатно: http://www.springsource.com/developer/tcserver.
Это поставляется с Spring Insight: http://www.springsource.org/insight — замечательный инструмент для проверки производительности приложений, посмотрите эти дорогие SQL-запросы. , и т.д.

1. Добавьте параметры JMX

Файл: <appname> /bin/setenv.sh

CATALINA_OPTS="-Dcom.sun.management.jmxremote"
CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote.ssl=false"
CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote.authenticate=false"

2. Включить JMX

Файл: <appname> /conf/server.xml

# В разделе <service>:

<Connector port="8050"
  handler.list="mx"
  mx.enabled="true"
  mx.httpHost="localhost"
  mx.httpPort="8082"
  protocol="AJP/1.3" />

3. При использовании JNDI добавьте поддержку конфигурации JNDI для Logback

Файл: <appname> /bin/setenv.sh

JAVA_OPTS="$JAVA_OPTS -Dlogback.ContextSelector=JNDI"

4. Добавьте журнал сервера, используя Logback

Файл: <appname> /conf/server.xml

# В разделе <Hosts>:

<Valve className="ch.qos.logback.access.tomcat.LogbackValve" />

5. Создайте файл logback-access.xml в каталоге <appname> / conf /

<configuration>
  <statusListener class="ch.qos.logback.core.status.OnConsoleStatusListener" />
 
  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
      <pattern>combined</pattern>
    </encoder>
  </appender>
 
  <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>myApp.log</file>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
      <fileNamePattern>myApp-%d{yyyy-MM-dd}.%i.txt</fileNamePattern>
      <timeBasedFileNamingAndTriggeringPolicy
            class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
        <maxFileSize>5MB</maxFileSize>
      </timeBasedFileNamingAndTriggeringPolicy>
    </rollingPolicy>
    <encoder>
      <pattern>combined</pattern>
    </encoder>
  </appender>
 
  <logger name="com.MYAPP.MYPKG" level="debug" />
  <logger name="org.springframework.web" level="debug" />
  <logger name="org.springframework.beans" level="debug" />
  <logger name="org.springframework.orm" level="debug" />
  <logger name="org.springframework.web" level="debug" />
  <logger name="net.sf.ehcache" level="error" />
  <logger name="org.hibernate.cache" level="error" />
 
  <root level="info">
    <appender-ref ref="FILE" />
    <appender-ref ref="STDOUT" />
  </root>
</configuration>

6. В каталоге <tomcatdir> / lib добавьте следующие файлы jar

Включая JCL-over-SLF4J, мы обрабатываем протоколирование Apache Commons через SLF4J (JCL = Jakarta Commons Logging).
Включая JUL-to-SLF4J, мы обрабатываем Java Util Logging через SLF4J.

  • JCL-над-SLF4J-1.6.1.jar
  • июль к SLF4J-1.6.1.jar
  • Logback-доступа 0.9.29.jar
  • Logback-классический 0.9.29.jar
  • Logback-ядро-0.9.29.jar
  • SLF4J-апи-1.6.1.jar

7. Настройте приложение для ведения журнала разделения

Смотрите: http://logback.qos.ch/manual/loggingSeparation.html

<env-entry>
  <description>JNDI logging context for this app</description>
  <env-entry-name>logback/context-name</env-entry-name>
  <env-entry-type>java.lang.String</env-entry-type>
  <env-entry-value>yourAppHere</env-entry-value>
</env-entry>
 
<env-entry>
  <description>URL for configuring logback context</description>
  <env-entry-name>logback/configuration-resource</env-entry-name>
  <env-entry-type>java.lang.String</env-entry-type>
  <env-entry-value>logback.xml</env-entry-value>
</env-entry>
 
<listener>
  <listener-class>ch.qos.logback.classic.selector.servlet.ContextDetachingSCL</listener-class>
</listener>
 
<filter>
  <filter-name>LoggerContextFilter</filter-name>
  <filter-class>ch.qos.logback.classic.selector.servlet.LoggerContextFilter</filter-class>
</filter>
 
<filter-mapping>
  <filter-name>LoggerContextFilter</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping>

8. Необязательно — добавить сервлет для просмотра событий входа

Файл: <application> /src/main/webapp/WEB-INF/web.xml
См .: http://logback.qos.ch/manual/configuration.html
Будут доступны сообщения о состоянии: http: // yourWebapp / lbClassicStatus

	
<servlet>
  <servlet-name>ViewStatusMessages</servlet-name>
  <servlet-class>ch.qos.logback.classic.ViewStatusMessagesServlet</servlet-class>
</servlet>
 
<servlet-mapping>
  <servlet-name>ViewStatusMessages</servlet-name>
  <url-pattern>/lbClassicStatus</url-pattern>
</servlet-mapping>

Резюме

Использование tcServer с Insight предоставляет нам разработчикам ценный ресурс для проверки кода во время выполнения. Logback и SLF4J предоставляют нам быструю, гибкую конфигурацию регистрации и разделение регистрации для наших экземпляров приложения.

С http://gordondickens.com/wordpress/2011/08/16/tcserver-logging-with-logback-slf4j/