Я работаю над устаревшим веб-приложением интрасети в своей компании, и у нас возникла серьезная проблема с ведением журнала. Один из процессов, которые мы запускаем, должен иметь дело с 34-тысячными записями с использованием AXIS, и, несмотря на все наши усилия, AXIS работает на уровне журнала DEBUG, создавая гигабайты файлов журнала. Другие зависимости также работают в DEBUG, несмотря на наши настройки.
Приложение работает на Tomcat 5.5 (без лекций, пожалуйста).
Вот пример вывода журнала из AXIS:
12:44:05.601 [Thread-31] DEBUG o.a.axis.i18n.ProjectResourceBundle - org.apache.axis.i18n.resource::handleGetObject(endElem00)
12:44:05.601 [Thread-31] DEBUG o.a.a.encoding.SerializationContext - End element direction
12:44:05.601 [Thread-31] DEBUG o.a.axis.i18n.ProjectResourceBundle - org.apache.axis.i18n.resource::handleGetObject(endElem00)
12:44:05.602 [Thread-31] DEBUG o.a.a.encoding.SerializationContext - End element filter
Вот файл log4j.xml:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="axis" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="../logs/axis.log"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d ${%t} %-5p %c - %m%n"/>
</layout>
</appender>
<appender name="ui" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="../logs/web.log"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d ${%t} %-5p %c - %m%n"/>
</layout>
</appender>
<appender name="framework" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="../logs/websiteFramework.log"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d ${%t} %-5p %c - %m%n"/>
</layout>
</appender>
<appender name="webservice" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="../logs/webService.log"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d ${%t} %-5p %c - %m%n"/>
</layout>
</appender>
<appender name="ibatis" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="../logs/ibatis.log"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d ${%t} %-5p %c - %m%n"/>
</layout>
</appender>
<appender name="sql" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="../logs/sql.log"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d ${%t} %-5p %c - %m%n"/>
</layout>
</appender>
<appender name="spring" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="../logs/spring.log"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d ${%t} %-5p %c - %m%n"/>
</layout>
</appender>
<appender name="general" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="../logs/cair.log"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d ${%t} %-5p %c - %m%n"/>
</layout>
</appender>
<appender name="activityLogger" class="org.apache.log4j.jdbc.JDBCAppender">
<param name="user" value="webapps_user"/>
<param name="password" value="speedrac5r"/>
<param name="URL" value="jdbc:oracle:thin:@dvba02:1521:dvba02"/>
<param name="driver" value="oracle.jdbc.driver.OracleDriver"/>
<layout class="com.pml.shared.logging.activitydb.ActivityDBPatternLayout">
<param name="separator" value=","/>
<param name="ConversionPattern" value="INSERT INTO WEB_APPLCTN_LOG (WEB_APPLCTN_LOG_ID, ACTVTY_TYPE_CD, USER_ID, USER_ROLE_CD, CLIENT_ID, AGT_CD, OFFC_CD, WEB_APPLCTN_ID, ACTVTY_CMNT) VALUES (DEFAULT, %A,'%u',(select USER_ROLE_CD from user_role u where u.USER_ROLE_DESC='%r'),'%c', '%g', '%o', %a, '%v')"/>
</layout>
</appender>
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<param name="target" value="System.out"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d ${%t} %-5p %c - %m%n"/>
</layout>
</appender>
<!--
<appender name="emailws" class="org.apache.log4j.net.SMTPAppender">
<param name="BufferSize" value="512"/>
<param name="SMTPHost" value="@deploy.cair.emaillogger.SMTPHOST@"/>
<param name="Threshold" value="ERROR"/>
<param name="To" value="@deploy.cairws.emaillogger.TO_ADDRESS@"/>
<param name="Subject" value="@deploy.cairws.emaillogger.SUBJECT@"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n"/>
</layout>
</appender>
<appender name="emailui" class="org.apache.log4j.net.SMTPAppender">
<param name="BufferSize" value="512"/>
<param name="SMTPHost" value="@deploy.cair.emaillogger.SMTPHOST@"/>
<param name="Threshold" value="ERROR"/>
<param name="To" value="@deploy.cairui.emaillogger.TO_ADDRESS@"/>
<param name="Subject" value="@deploy.cairui.emaillogger.SUBJECT@"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n"/>
</layout>
</appender>
-->
<logger name="com.pml.website.alerts">
<level value="ERROR"/>
<appender-ref ref="ui"/>
<!--
<appender-ref ref="emailui"/>
-->
</logger>
<logger name="com.pml.webservices">
<level value="INFO"/>
<appender-ref ref="webservice"/>
<!-- <appender-ref ref="emailws"/>-->
</logger>
<logger name="com.pml.website.alerts.utils.agentInfoCache">
<level value="ERROR"/>
<appender-ref ref="ui"/>
</logger>
<logger name="com.pml.website.framework">
<level value="INFO"/>
<appender-ref ref="framework"/>
</logger>
<logger name="org.apache.axis">
<level value="OFF"/>
<appender-ref ref="axis"/>
</logger>
<logger name="com.ibatis">
<level value="ERROR"/>
<appender-ref ref="ibatis"/>
</logger>
<logger name="java.sql">
<level value="ERROR"/>
<appender-ref ref="sql"/>
</logger>
<logger name="org.springframework">
<level value="ERROR"/>
<appender-ref ref="sql"/>
</logger>
<logger name="AuditLog">
<level value="DEBUG"/>
<appender-ref ref="activityLogger"/>
</logger>
<root>
<level value="ERROR" />
<appender-ref ref="general"/>
</root>
</log4j:configuration>
Я запустил приложение с настройкой -Dlog4j.debug для JVM и подтвердил, что Log4J использует предоставленный нами файл log4j.xml при работе под Gradle/Jetty, по крайней мере:
log4j: Using URL [file:/C:/Projects/CAIR/build/resources/main/log4j.xml] for automatic log4j configuration.
Я предполагаю, что эта проблема вызвана одной из новых зависимостей, которые мы добавили в проект, поскольку до недавнего времени у нас ее не было, но я просто не знаю, что с ней делать на данный момент. Любая помощь будет принята с благодарностью.