Как отключить логирование Icefaces?

У меня есть требование отключить ведение журнала Icefaces. Я добавил ссылки на регистратор, как показано ниже, но не смог отключить ведение журнала Icefaces.

    <!-- I added this to filter off icefaces logging -->
    <logger name="org.icepush">
        <level value="OFF"/>
         <appender-ref ref="stdout"/>
    </logger>    
    <!-- I added this to filter off icefaces logging -->    
    <logger name="org.icefaces">
        <level value="OFF"/>
         <appender-ref ref="stdout"/>
    </logger>       
    <!-- I added this to filter off icefaces logging -->    
    <logger name="com.icesoft.faces.application.D2DViewHandler">
        <level value="OFF"/>
       <appender-ref ref="stdout"/>
    </logger> 

Я использую Tomcat для локальной разработки и Weblogic для производства.

Мой log4j.xml:

    <?xml version="1.0"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">

    <!-- BEGIN APPENDER: RollingFileAppender (HBAppender) -->
    <appender class="org.apache.log4j.RollingFileAppender" name="HBAppender">
        <param value="${bla.root}/WEB-INF/frameworks.log" name="File"/>
        <param value="2" name="MaxBackupIndex"/>
        <param value="512KB" name="MaxFileSize"/>
        <layout class="org.apache.log4j.PatternLayout">
            <param value="%d %p [%c] - %m%n" name="ConversionPattern"/>
        </layout>
    </appender>    
   <!-- BEGIN APPENDER: RollingFileAppender (JSFAppender) -->
    <appender class="org.apache.log4j.RollingFileAppender" name="JSFAppender">
        <param value="${bla.root}/WEB-INF/frameworks.log" name="File"/>
        <param value="2" name="MaxBackupIndex"/>
        <param value="512KB" name="MaxFileSize"/>
        <layout class="org.apache.log4j.PatternLayout">
            <param value="%d %p [%c] - %m%n" name="ConversionPattern"/>
        </layout>
    </appender>    
    <!-- BEGIN APPENDER: RollingFileAppender (rotator) -->
    <appender class="org.apache.log4j.RollingFileAppender" name="rotator">
        <param value="true" name="Append"/>
        <param value="C:apache-tomcat-6.0.32LVSProjlogslvs.log" name="File"/>
        <param value="5" name="MaxBackupIndex"/>
        <param value="2048KB" name="MaxFileSize"/>
        <layout class="org.apache.log4j.PatternLayout">
            <param value="[%d{MMM dd HH:mm:ss}] %-5p (%F:%L) - %m%n" name="ConversionPattern"/>
        </layout>
    </appender>    
   <!-- BEGIN APPENDER: RollingFileAppender (SFAppender) -->
    <appender class="org.apache.log4j.RollingFileAppender" name="SFAppender">
        <param value="${bla.root}/WEB-INF/frameworks.log" name="File"/>
        <param value="2" name="MaxBackupIndex"/>
        <param value="512KB" name="MaxFileSize"/>
        <layout class="org.apache.log4j.PatternLayout">
            <param value="%d %p [%c] - %m%n" name="ConversionPattern"/>
        </layout>
    </appender>    
    <!-- BEGIN APPENDER: ConsoleAppender (stdout) -->
    <appender class="org.apache.log4j.ConsoleAppender" name="stdout">
        <layout class="org.apache.log4j.PatternLayout">
            <param value="[%d{MMM dd HH:mm:ss}] %-5p (%F:%L) - %m%n" name="ConversionPattern"/>
        </layout>
    </appender>    
    <!-- BEGIN APPENDER: DailyRollingFileAppender (APPLICATION) -->
    <appender class="org.apache.log4j.DailyRollingFileAppender" name="APPLICATION" >
        <param name="File" value="pem.log"/>
        <param name="DatePattern" value="'.'yyyy-MM-dd"/>
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%d %-5p %-17c{2} (%30F:%L) %3x - %m%n"/>
        </layout>
    </appender>    
    <!-- BEGIN APPENDER: DailyRollingFileAppender (AUDIT) -->
    <appender class="org.apache.log4j.DailyRollingFileAppender" name="AUDIT" >
      <param name="File" value="pem_audit.log"/> 
      <param name="DatePattern" value="'.'yyyy-MM-dd"/>
      <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="%d %-5p [%t] %c - %m%n"/>
      </layout>      
    <filter class="org.apache.log4j.varia.DenyAllFilter"/>
   </appender>    
    <!-- logger references -->
    <logger name="org.apache">
        <appender-ref ref="JSFAppender"/>
    </logger>    
    <logger name="org.hibernate">
        <level value="info" />
        <appender-ref ref="HBAppender"/>
    </logger>    
    <logger name="org.springframework">
        <appender-ref ref="SFAppender"/>
    </logger>      
    <!-- I added this to filter off icefaces logging -->
    <logger name="org.icepush">
        <level value="OFF"/>
         <appender-ref ref="stdout"/>
    </logger>    
    <!-- I added this to filter off icefaces logging -->    
    <logger name="org.icefaces">
        <level value="OFF"/>
         <appender-ref ref="stdout"/>
    </logger>       
    <!-- I added this to filter off icefaces logging -->    
    <logger name="com.icesoft.faces.application.D2DViewHandler">
        <level value="OFF"/>
       <appender-ref ref="stdout"/>
    </logger>       
    <!-- root -->
    <root>
        <level value="info"/>
        <appender-ref ref="APPLICATION"/>
        <appender-ref ref="AUDIT"/>
        <appender-ref ref="stdout"/>
    </root>    
</log4j:configuration>

Вот журналы консоли при запуске сервера tomcat. Я хотел бы отфильтровать журналы, связанные с Icefaces.

Sep 5, 2012 11:57:43 AM org.apache.catalina.core.AprLifecycleListener init    
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\IBM\SDP1\jdk\jre\bin;.;c:\oraclexe\app\oracle\product\11.2.0\server\bin;;C:\Development\axis2-1.5.4/bin;C:\Program Files\Java\jdk1.6.0_23/bin;C:\Development\apache-ant-1.7.0\bin;c:\cygwin\bin;c:\adams\filenet\IDM;c:\adams\filenet\Shared;C:\Shared;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;c:\pb5;c:\sql\binn;c:\sql\dll;C:\MSSQL\BINN\;C:\Program Files\Executive Software\Diskeeper;C:\Program Files\Common Files\Roxio Shared\DLLShared\;C:\Program Files\QuickTime\QTSystem\;C:\Program Files\Windows Imaging\;C:\Program Files\Rational\common;C:\Program Files\Rational\ClearCase\bin;Y:\wpo4;S:\public;C:\WINDOWS\system32\WindowsPowerShell\v1.0;C:\Program Files\MySQL\MySQL Server 5.5\bin;c:\Program Files\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\;c:\Program Files\Microsoft SQL Server\100\Tools\Binn\;c:\Program Files\Microsoft SQL Server\100\DTS\Binn\;c:\Program Files\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\;C:\Program Files\VanDyke Software\Clients\
Sep 5, 2012 11:57:43 AM org.apache.tomcat.util.digester.SetPropertiesRule begin    
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:MyProj' did not find a matching property.    
Sep 5, 2012 11:57:43 AM org.apache.coyote.AbstractProtocol init    
INFO: Initializing ProtocolHandler ["http-bio-8081"]    
Sep 5, 2012 11:57:43 AM org.apache.coyote.AbstractProtocol init    
INFO: Initializing ProtocolHandler ["ajp-bio-8009"]    
Sep 5, 2012 11:57:43 AM org.apache.catalina.startup.Catalina load    
INFO: Initialization processed in 1499 ms    
Sep 5, 2012 11:57:43 AM org.apache.catalina.core.StandardService startInternal    
INFO: Starting service Catalina    
Sep 5, 2012 11:57:43 AM org.apache.catalina.core.StandardEngine startInternal    
INFO: Starting Servlet Engine: Apache Tomcat/7.0.29    
Sep 5, 2012 11:57:44 AM org.apache.catalina.loader.WebappClassLoader validateJarFile    
INFO: validateJarFile(C:\Program Files\Apache Software Foundation\apache-tomcat-7.0.29\webapps\MyProj\WEB-INF\lib\servlet-api.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
Sep 5, 2012 11:57:50 AM org.apache.catalina.core.ApplicationContext log    
INFO: Initializing Spring root WebApplicationContext    
log4j:WARN No appenders could be found for logger (org.springframework.web.context.ContextLoader).    
log4j:WARN Please initialize the log4j system properly.    
SLF4J: Class path contains multiple SLF4J bindings.    
SLF4J: Found binding in [jar:file:/C:/Program%20Files/Apache%20Software%20Foundation/apache-tomcat-7.0.29/webapps/MyProj/WEB-INF/lib/slf4j-jcl-1.6.2.jar!/org/slf4j/impl/StaticLoggerBinder.class]    
SLF4J: Found binding in [jar:file:/C:/Program%20Files/Apache%20Software%20Foundation/apache-tomcat-7.0.29/webapps/MyProj/WEB-INF/lib/slf4j-log4j12-1.6.2.jar!/org/slf4j/impl/StaticLoggerBinder.class]    
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.    
[Sep 05 11:57:57] INFO  (JCLLoggerAdapter.java:284) - Trying to find Dozer configuration file: dozer.properties    
[Sep 05 11:57:57] WARN  (JCLLoggerAdapter.java:379) - Dozer configuration file not found: dozer.properties.  Using defaults for all Dozer global properties.    
[Sep 05 11:57:57] INFO  (JCLLoggerAdapter.java:307) - Initializing Dozer. Version: 5.3.2, Thread Name: localhost-startStop-1    
[Sep 05 11:57:57] INFO  (JCLLoggerAdapter.java:263) - Dozer JMX MBean [org.dozer.jmx:type=DozerStatisticsController] auto registered with the Platform MBean Server    
[Sep 05 11:57:57] INFO  (JCLLoggerAdapter.java:263) - Dozer JMX MBean [org.dozer.jmx:type=DozerAdminController] auto registered with the Platform MBean Server    
[Sep 05 11:57:57] INFO  (JCLLoggerAdapter.java:263) - Initializing a new instance of dozer bean mapper.    
Sep 5, 2012 11:57:57 AM com.sun.faces.config.ConfigureListener contextInitialized    
INFO: Initializing Mojarra 2.1.1 (FCS 20110408) for context '/MyProj'    
Sep 5, 2012 11:57:58 AM com.sun.faces.spi.InjectionProviderFactory createInstance    
INFO: JSF1048: PostConstruct/PreDestroy annotations present.  ManagedBeans methods marked with these annotations will have said annotations processed.    
Sep 5, 2012 11:57:58 AM org.icepush.servlet.MainServlet <init>    
INFO: 
ICEsoft Technologies Inc.    
ICEpush 2.0.0    
Build number: 1    
Revision: 23556    

Sep 5, 2012 11:58:16 AM org.icefaces.util.EnvConfig init        
INFO: ICEfaces Configuration:         
org.icefaces.render.auto: true [default]        
org.icefaces.autoid: true [default]    
org.icefaces.aria.enabled: true [default]    
org.icefaces.blockUIOnSubmit: false [default]    
org.icefaces.compressDOM: false [default]    
org.icefaces.compressResources: true [default]    
org.icefaces.connectionLostRedirectURI: null [default]    
org.icefaces.deltaSubmit: false [default]    
org.icefaces.lazyPush: true [default]    
org.icefaces.sessionExpiredRedirectURI: null [default]    
org.icefaces.standardFormSerialization: false [default]    
org.icefaces.strictSessionTimeout: false [default]    
org.icefaces.windowScopeExpiration = 1000 [default]    
org.icefaces.mandatoryResourceConfiguration: null [default]    
org.icefaces.uniqueResourceURLs: true [default]    

Sep 5, 2012 11:58:16 AM org.icefaces.impl.renderkit.DOMRenderKit <clinit>    
INFO:     
ICEsoft Technologies Inc.    
ICEfaces 2.0.0    
Build number: 4    
Revision: 23692

person Superman9999    schedule 05.09.2012    source источник


Ответы (2)


Добавить commons-logging.properties в папку src с содержимым

org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger

Всякий раз, когда он использует ведение журнала общих ресурсов, он будет использоваться log4j. Логирование log4j должно быть настроено соответствующим образом. Убедитесь, что log4j.jar добавлен в путь к классам.

Однако icefaces в конечном итоге используется java.util.logging регистратор. И вы должны использовать его конфигурацию ведения журнала. Для этого вам нужно добавить опцию -Djava.util.logging.config.file=\path\to\logging.properties в конфигурацию запуска сервера.

Простой файл logging.properties находится в папке JDK\JRE\lib. Вы можете использовать это и добавить

org.icepush.level = OFF
org.icefaces.level = OFF
javax.faces.level = OFF
com.sun.faces.level = OFF

до конца файла.

Если вы используете Eclipse, используйте Настройки -> Серверы -> JDK -> Необязательные аргументы виртуальной машины Java:, чтобы добавить этот параметр в серверный JDK. В качестве альтернативы вы можете создать конфигурацию запуска сервера Настройки -> Серверы -> Запуск -> Создать конфигурацию запуска и определить эту опцию там. Вы можете создать несколько конфигураций запуска для одного и того же сервера. В последнее время вы можете сопоставить эти конфигурации с конфигурациями запуска приложений, указав конфигурацию запуска сервера.

person Roman C    schedule 05.09.2012
comment
Спасибо Роман. Эти настройки не помогли. Я все еще вижу журналы Icefaces. Я также попытался добавить ‹appender-ref ref=stdout/› в категорию. - person Superman9999; 06.09.2012
comment
Это тоже не помогло. common-loging был помещен в src, и я вижу его в классах при сборке. - person Superman9999; 06.09.2012
comment
Ok. Сделал некоторый прогресс. Мне удалось подавить tomcat, добавив приведенные ниже аргументы сервера Tomcat. -Djava.util.logging.config.file=${project_loc}\‹apache-tomcat-5.5.23_loc›\conf\log4j.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager Тестирование на weblogic в настоящее время. - person Superman9999; 07.09.2012
comment
Спасибо за помощь Роман. Weblogic не является средой разработки. Итак, я не могу добавить -D через аргумент через сервер-> конфигурация запуска-> аргументы. Кажется, мне нужно отредактировать setDomainEnv.sh. Я перешел по ссылке ниже, но я все еще видел ведение журнала icefaces. phillips4jc.blogspot.com/2012/01/ - person Superman9999; 09.09.2012

Я нашел несколько способов подавить журналы Icefaces. Я перечисляю их все ниже с плюсами и минусами. Я пошел по варианту 2.

1) Редактирование logging.properties в jdk

ЗА: Быстрое и простое изменение, не нужно вносить никаких других изменений и не влияет на существующую конфигурацию ведения журнала, все классы, которые необходимо подавить, могут быть размещены в одном месте. ПРОТИВ: глобальное изменение, это изменение затронет все приложения, использующие этот jdk.

2) Загрузка отдельного файла log4j.xml в путь к классам при запуске сервера и подавление журналов Icefaces оттуда.

ЗА: WLS может оставаться в журнале JDK. ПРОТИВ: глобальные изменения, требующие некоторой настройки.

3) Включение log4j на WLS и загрузка log4j.xml в путь к классам при запуске сервера.

Плюсы: все журналы (WLS и отдельные приложения) будут вестись на log4j. Мы можем использовать файл log4j.xml уровня сервера только для вещей, которые мы хотим для всех приложений, таких как отключение ведения журнала Icefaces, и у нас может быть другой файл log4j внутри приложения, чтобы сообщить этому приложению, как вести журнал с помощью log4j. ПРОТИВ: Включает настройку WLS для использования log4j, необходимо поддерживать отдельный глобальный файл log4j.

person Superman9999    schedule 02.10.2012