Issue #2142 initial cutover from log4j to SLF4J and logback

Change-Id: I6953739821992fadb2b92da0dc659512b90a5895

Former-commit-id: a4de603bcf [formerly 316d6c09c6] [formerly a4de603bcf [formerly 316d6c09c6] [formerly db6152e524 [formerly 7725d8a6cd00b3c30856b48ef86ab081b67d400b]]]
Former-commit-id: db6152e524
Former-commit-id: 5a6b0f99cc [formerly 6da64f329c]
Former-commit-id: efcf0c8519
This commit is contained in:
Nate Jensen 2013-06-27 12:33:34 -05:00
parent cca3d4c19b
commit 86b096bc9b
73 changed files with 1584 additions and 157 deletions

View file

@ -16,7 +16,8 @@ Require-Bundle: org.eclipse.ui,
com.raytheon.uf.common.message;bundle-version="1.11.11",
com.raytheon.uf.common.alertviz,
javax.jms;bundle-version="1.0.0",
org.apache.log4j
org.apache.log4j,
ch.qos.logback;bundle-version="1.0.13"
Bundle-ClassPath: .,
lib/derbyrun.jar,
lib/derby.jar
@ -29,4 +30,4 @@ Import-Package: com.raytheon.uf.common.python,
com.raytheon.uf.viz.python.swt.widgets
Bundle-ActivationPolicy: lazy
Eclipse-BuddyPolicy: ext, registered, global
Eclipse-RegisterBuddy: org.apache.log4j
Eclipse-RegisterBuddy: ch.qos.logback, org.apache.log4j

View file

@ -0,0 +1,87 @@
<configuration debug="false" scan="false">
<!-- general application log -->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%-5p %d [%t] %c{0}: %m%n</pattern>
</encoder>
<filter class="com.raytheon.uf.common.status.logback.InvertedThresholdFilter">
<level>INFO</level>
</filter>
</appender>
<appender name="errConsole" class="ch.qos.logback.core.ConsoleAppender">
<target>System.err</target>
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>WARN</level>
</filter>
<encoder>
<pattern>%-5p %d [%t] %c{0}: %m%n</pattern>
</encoder>
</appender>
<appender name="AlertVizAdminLogAppender" class="com.raytheon.uf.common.status.logback.EnvConfigurableRollingFileAppender">
<!-- file and fileNamePattern will be overridden by the env variable if present, but are required by logback -->
<file>alertviz-admin.log</file>
<envLogVar>LOGFILE_ALERTVIZ</envLogVar>
<rollingPolicy class="com.raytheon.uf.common.status.logback.EnvConfigurableFixedWindowRollingPolicy">
<fileNamePattern>alertviz-admin.log%i</fileNamePattern>
<envLogVar>LOGFILE_ALERTVIZ</envLogVar>
<minIndex>1</minIndex>
<maxIndex>5</maxIndex>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<maxFileSize>2GB</maxFileSize>
</triggeringPolicy>
<append>true</append>
<encoder>
<pattern>%-5p %d [%t] %c{0}: %m%n</pattern>
</encoder>
</appender>
<logger name="AlertVizAdminLogger" additivity="false">
<level value="ALL"/>
<appender-ref ref="AlertVizAdminLogAppender"/>
</logger>
<logger name="com.raytheon">
<level value="INFO"/>
</logger>
<logger name="com.tc">
<level value="WARN"/>
</logger>
<logger name="mx4j">
<level value="ERROR"/>
</logger>
<logger name="org.apache">
<level value="INFO"/>
</logger>
<logger name="org.apache.activemq.spring">
<level value="WARN"/>
</logger>
<logger name="org.apache.commons.beanutils">
<level value="WARN"/>
</logger>
<logger name="org.apache.qpid">
<level value="WARN"/>
</logger>
<logger name="org.geotools">
<level value="WARN"/>
</logger>
<logger name="org.apache.xbean.spring">
<level value="WARN"/>
</logger>
<logger name="org.springframework">
<level value="ERROR"/>
</logger>
<logger name="uk.ltd.getahead">
<level value="WARN"/>
</logger>
<!-- default logging -->
<root>
<level value="INFO"/>
<appender-ref ref="console"/>
<appender-ref ref="errConsole"/>
</root>
</configuration>

View file

@ -247,4 +247,17 @@
version="0.0.0"
unpack="false"/>
<plugin
id="org.apache.log4j"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
id="org.apache.commons.logging"
download-size="0"
install-size="0"
version="0.0.0"/>
</feature>

View file

@ -41,10 +41,11 @@ Require-Bundle: org.eclipse.ui,
com.raytheon.uf.common.alertmonitor;bundle-version="1.12.1174",
com.raytheon.uf.common.python;bundle-version="1.12.1174",
com.raytheon.uf.common.velocity;bundle-version="1.0.0",
org.apache.log4j;bundle-version="1.0.0"
org.apache.log4j;bundle-version="1.0.0",
ch.qos.logback;bundle-version="1.0.13"
Bundle-ActivationPolicy: lazy
Eclipse-BuddyPolicy: ext, registered, global
Eclipse-RegisterBuddy: org.apache.velocity, org.apache.log4j, com.raytheon.edex.common, com.raytheon.uf.common.serialization, com.raytheon.uf.common.serialization.comm, com.raytheon.uf.common.status, com.raytheon.uf.common.dataplugin.level, com.raytheon.uf.common.comm
Eclipse-RegisterBuddy: org.apache.velocity, org.apache.log4j, com.raytheon.edex.common, com.raytheon.uf.common.serialization, com.raytheon.uf.common.serialization.comm, com.raytheon.uf.common.status, com.raytheon.uf.common.dataplugin.level, com.raytheon.uf.common.comm, ch.qos.logback
Export-Package: com.raytheon.uf.viz.core,
com.raytheon.uf.viz.core.alerts,
com.raytheon.uf.viz.core.auth,
@ -68,7 +69,6 @@ Export-Package: com.raytheon.uf.viz.core,
com.raytheon.uf.viz.core.legend,
com.raytheon.uf.viz.core.level,
com.raytheon.uf.viz.core.localization,
com.raytheon.uf.viz.core.log,
com.raytheon.uf.viz.core.map,
com.raytheon.uf.viz.core.notification,
com.raytheon.uf.viz.core.notification.jobs,

View file

@ -7,4 +7,5 @@ bin.includes = META-INF/,\
scriptTemplates/,\
schema/,\
log4j-viz-core.xml,\
res/
res/,\
logback-viz-core.xml

View file

@ -0,0 +1,68 @@
<configuration debug="false" scan="false">
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%-5p %d [%t] %c{0}: %m%n</pattern>
</encoder>
<filter class="com.raytheon.uf.common.status.logback.InvertedThresholdFilter">
<level>INFO</level>
</filter>
</appender>
<appender name="errConsole" class="ch.qos.logback.core.ConsoleAppender">
<target>System.err</target>
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>WARN</level>
</filter>
<encoder>
<pattern>%-5p %d [%t] %c{0}: %m%n</pattern>
</encoder>
</appender>
<logger name="CaveLogger">
<level value="ALL"/>
</logger>
<logger name="PerformanceLogger">
<level value="ALL"/>
</logger>
<logger name="com.raytheon">
<level value="INFO"/>
</logger>
<logger name="com.tc">
<level value="WARN"/>
</logger>
<logger name="mx4j">
<level value="ERROR"/>
</logger>
<logger name="org.apache">
<level value="INFO"/>
</logger>
<logger name="org.apache.activemq.spring">
<level value="WARN"/>
</logger>
<logger name="org.apache.commons.beanutils">
<level value="WARN"/>
</logger>
<logger name="org.apache.qpid">
<level value="WARN"/>
</logger>
<logger name="org.geotools">
<level value="WARN"/>
</logger>
<logger name="org.apache.xbean.spring">
<level value="WARN"/>
</logger>
<logger name="org.springframework">
<level value="ERROR"/>
</logger>
<logger name="uk.ltd.getahead">
<level value="WARN"/>
</logger>
<root>
<level value="INFO"/>
<appender-ref ref="console"/>
<appender-ref ref="errConsole"/>
</root>
</configuration>

View file

@ -0,0 +1,116 @@
<configuration debug="false" scan="false">
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%-5p %d [%t] %c{0}: %m%n</pattern>
</encoder>
<filter class="com.raytheon.uf.common.status.logback.InvertedThresholdFilter">
<level>INFO</level>
</filter>
</appender>
<appender name="errConsole" class="ch.qos.logback.core.ConsoleAppender">
<target>System.err</target>
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>WARN</level>
</filter>
<encoder>
<pattern>%-5p %d [%t] %c{0}: %m%n</pattern>
</encoder>
</appender>
<appender name="CaveLogAppender" class="com.raytheon.uf.common.status.logback.EnvConfigurableRollingFileAppender">
<!-- file and fileNamePattern will be overridden by the env variable if present, but are required by logback -->
<file>cave-alertviz.log</file>
<rollingPolicy class="com.raytheon.uf.common.status.logback.EnvConfigurableFixedWindowRollingPolicy">
<fileNamePattern>cave-alertviz.log%i</fileNamePattern>
<envLogVar>LOGFILE_CAVE</envLogVar>
<minIndex>1</minIndex>
<maxIndex>5</maxIndex>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<maxFileSize>2GB</maxFileSize>
</triggeringPolicy>
<append>true</append>
<encoder>
<pattern>%-5p %d [%t] %c{0}: %m%n</pattern>
</encoder>
</appender>
<appender name="PerformanceLogAppender" class="com.raytheon.uf.common.status.logback.EnvConfigurableRollingFileAppender">
<!-- file and fileNamePattern will be overridden by the env variable if present, but are required by logback -->
<file>cave-performance.log</file>
<rollingPolicy class="com.raytheon.uf.common.status.logback.EnvConfigurableFixedWindowRollingPolicy">
<fileNamePattern>cave-performance.log%i</fileNamePattern>
<envLogVar>LOGFILE_PERFORMANCE</envLogVar>
<minIndex>1</minIndex>
<maxIndex>5</maxIndex>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<maxFileSize>2GB</maxFileSize>
</triggeringPolicy>
<append>true</append>
<encoder>
<pattern>%-5p %d [%t] %c{0}: %m%n</pattern>
</encoder>
</appender>
<appender name="AsyncCaveLogAppender" class="ch.qos.logback.classic.AsyncAppender">
<queueSize>500</queueSize>
<appender-ref ref="CaveLogAppender"/>
</appender>
<appender name="AsyncPerfLogAppender" class="ch.qos.logback.classic.AsyncAppender">
<param name="BufferSize" value="500"/>
<appender-ref ref="PerformanceLogAppender"/>
</appender>
<logger name="CaveLogger" additivity="false">
<level value="ALL"/>
<appender-ref ref="AsyncCaveLogAppender"/>
</logger>
<logger name="PerformanceLogger" additivity="false">
<level value="ALL"/>
<appender-ref ref="AsyncPerfLogAppender"/>
</logger>
<logger name="com.raytheon">
<level value="INFO"/>
</logger>
<logger name="com.tc">
<level value="WARN"/>
</logger>
<logger name="mx4j">
<level value="ERROR"/>
</logger>
<logger name="org.apache">
<level value="INFO"/>
</logger>
<logger name="org.apache.activemq.spring">
<level value="WARN"/>
</logger>
<logger name="org.apache.commons.beanutils">
<level value="WARN"/>
</logger>
<logger name="org.apache.qpid">
<level value="WARN"/>
</logger>
<logger name="org.geotools">
<level value="WARN"/>
</logger>
<logger name="org.apache.xbean.spring">
<level value="WARN"/>
</logger>
<logger name="org.springframework">
<level value="ERROR"/>
</logger>
<logger name="uk.ltd.getahead">
<level value="WARN"/>
</logger>
<root>
<level value="INFO"/>
<appender-ref ref="console"/>
<appender-ref ref="errConsole"/>
</root>
</configuration>

View file

@ -32,7 +32,9 @@
<property name="monitorEndpoint" value="edex.alerts.msg"/>
</bean>
<bean class="com.raytheon.uf.common.geospatial.LogRedirector" factory-method="getInstance"/>
<bean class="com.raytheon.uf.common.geospatial.LogRedirector" factory-method="setGeotoolsLogFactory">
<constructor-arg value="org.geotools.util.logging.Log4JLoggerFactory"/>
</bean>
<!-- These util:constant beans should not be required, they overwrite the ones in *-common.xml files for CAVE since
CAVE just gets a ClassNotFoundException on boot...

View file

@ -451,13 +451,6 @@
install-size="0"
version="0.0.0"/>
<plugin
id="org.apache.log4j"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
id="org.apache.commons.lang"
download-size="0"
@ -485,4 +478,17 @@
install-size="0"
version="0.0.0"/>
<plugin
id="ch.qos.logback"
download-size="0"
install-size="0"
version="0.0.0"/>
<plugin
id="org.apache.log4j"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
</feature>

View file

@ -31,7 +31,8 @@ Developed on the Raytheon Visualization Environment (viz)
-Dqpid.dest_syntax=BURL
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
-Dlog4j.configuration=log4j-alertviz.xml
-Dlogback.configurationFile=logback-alertviz.xml
-Dlogback.statusListenerClass=com.raytheon.uf.common.status.logback.UFLogbackInternalStatusListener
-Dthrift.stream.maxsize=200</vmArgs>
</launcherArgs>

View file

@ -29,6 +29,8 @@
-Dcom.sun.management.jmxremote.ssl=false
-XX:OnOutOfMemoryError=&quot;capture -t no -p $pid &amp;&quot;
-Dlog4j.configuration=log4j-viz-core.xml
-Dlogback.configurationFile=logback-viz-core.xml
-Dlogback.statusListenerClass=com.raytheon.uf.common.status.logback.UFLogbackInternalStatusListener
-Dthrift.stream.maxsize=200</vmArgs>
<vmArgsLin>-Xmx1280M</vmArgsLin>
<vmArgsWin>-Dfile.encoding=UTF-8 -Xmx768M</vmArgsWin>

View file

@ -23,8 +23,10 @@
-Dqpid.dest_syntax=BURL
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.ssl=false
-Dlog4j.configuration=log4j-viz-core-developer.xml
-Dlogback.configurationFile=logback-viz-core-developer.xml
-Dlogback.statusListenerClass=com.raytheon.uf.common.status.logback.UFLogbackInternalStatusListener
-Dthrift.stream.maxsize=200</vmArgs>
<vmArgsWin>-Dfile.encoding=UTF-8</vmArgsWin>
</launcherArgs>

View file

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry exported="true" kind="lib" path="logback-classic-1.0.13.jar" sourcepath="logback-classic-1.0.13-sources.jar"/>
<classpathentry exported="true" kind="lib" path="logback-core-1.0.13.jar" sourcepath="logback-core-1.0.13-sources.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>

View file

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>ch.qos.logback</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.ManifestBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.SchemaBuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.pde.PluginNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>

View file

@ -0,0 +1,7 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
org.eclipse.jdt.core.compiler.compliance=1.6
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.source=1.6

View file

@ -0,0 +1,67 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Logback
Bundle-SymbolicName: ch.qos.logback
Bundle-Version: 1.0.13
Eclipse-BuddyPolicy: registered
Bundle-ClassPath: logback-classic-1.0.13.jar,
logback-core-1.0.13.jar
Bundle-Vendor: QOS
Export-Package: ch.qos.logback.classic,
ch.qos.logback.classic.boolex,
ch.qos.logback.classic.db,
ch.qos.logback.classic.db.names,
ch.qos.logback.classic.encoder,
ch.qos.logback.classic.filter,
ch.qos.logback.classic.gaffer,
ch.qos.logback.classic.helpers,
ch.qos.logback.classic.html,
ch.qos.logback.classic.jmx,
ch.qos.logback.classic.joran,
ch.qos.logback.classic.joran.action,
ch.qos.logback.classic.jul,
ch.qos.logback.classic.log4j,
ch.qos.logback.classic.net,
ch.qos.logback.classic.net.server,
ch.qos.logback.classic.pattern,
ch.qos.logback.classic.pattern.color,
ch.qos.logback.classic.selector,
ch.qos.logback.classic.selector.servlet,
ch.qos.logback.classic.sift,
ch.qos.logback.classic.spi,
ch.qos.logback.classic.turbo,
ch.qos.logback.classic.util,
ch.qos.logback.core,
ch.qos.logback.core.boolex,
ch.qos.logback.core.db,
ch.qos.logback.core.db.dialect,
ch.qos.logback.core.encoder,
ch.qos.logback.core.filter,
ch.qos.logback.core.helpers,
ch.qos.logback.core.html,
ch.qos.logback.core.joran,
ch.qos.logback.core.joran.action,
ch.qos.logback.core.joran.conditional,
ch.qos.logback.core.joran.event,
ch.qos.logback.core.joran.spi,
ch.qos.logback.core.joran.util,
ch.qos.logback.core.layout,
ch.qos.logback.core.net,
ch.qos.logback.core.net.server,
ch.qos.logback.core.net.ssl,
ch.qos.logback.core.pattern,
ch.qos.logback.core.pattern.color,
ch.qos.logback.core.pattern.parser,
ch.qos.logback.core.pattern.util,
ch.qos.logback.core.property,
ch.qos.logback.core.read,
ch.qos.logback.core.recovery,
ch.qos.logback.core.rolling,
ch.qos.logback.core.rolling.helper,
ch.qos.logback.core.sift,
ch.qos.logback.core.spi,
ch.qos.logback.core.status,
ch.qos.logback.core.subst,
ch.qos.logback.core.util,
org.slf4j.impl
Bundle-RequiredExecutionEnvironment: JavaSE-1.6

View file

@ -0,0 +1,3 @@
bin.includes = META-INF/,\
logback-classic-1.0.13.jar,\
logback-core-1.0.13.jar

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -49,7 +49,6 @@ import org.apache.http.params.CoreProtocolPNames;
import org.apache.http.params.HttpParams;
import org.apache.http.params.HttpProtocolParamBean;
import org.apache.http.protocol.HttpContext;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import edu.uci.ics.crawler4j.crawler.Configurable;
@ -105,7 +104,6 @@ public class PageFetcher extends Configurable {
connectionManager.setMaxTotal(config.getMaxTotalConnections());
connectionManager.setDefaultMaxPerRoute(config
.getMaxConnectionsPerHost());
logger.setLevel(Level.INFO);
httpClient = new DefaultHttpClient(connectionManager, params);
if (config.getProxyHost() != null) {

View file

@ -10,6 +10,6 @@ Export-Package: org.apache.commons.beanutils,
org.apache.commons.beanutils.locale,
org.apache.commons.beanutils.locale.converters
Require-Bundle: org.apache.commons.collections,
org.apache.commons.logging
org.slf4j;bundle-version="1.7.5"
Bundle-Vendor: Raytheon-bundled OSS
Bundle-RequiredExecutionEnvironment: JavaSE-1.6

View file

@ -17,6 +17,6 @@ Export-Package: org.apache.commons.configuration,
Require-Bundle: org.apache.commons.beanutils,
org.apache.commons.collections,
org.apache.commons.digester,
org.apache.commons.logging,
org.apache.commons.lang
org.apache.commons.lang,
org.slf4j;bundle-version="1.7.5"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6

View file

@ -12,6 +12,6 @@ Export-Package: org.apache.commons.digester,
org.apache.commons.digester.xmlrules
Require-Bundle: org.apache.commons.beanutils,
org.apache.commons.collections,
org.apache.commons.logging
org.slf4j;bundle-version="1.7.5"
Bundle-Vendor: Raytheon-bundled OSS
Bundle-RequiredExecutionEnvironment: JavaSE-1.6

View file

@ -7,8 +7,8 @@ Bundle-ClassPath: httpclient-4.1.2.jar,
httpclient-cache-4.1.2.jar,
httpcore-4.1.2.jar,
httpmime-4.1.2.jar
Require-Bundle: org.apache.commons.codec,
org.apache.commons.logging
Require-Bundle: org.apache.commons.codec,
org.slf4j;bundle-version="1.7.5"
Bundle-Vendor: Raytheon-bundled OSS
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Export-Package: org.apache.http,

View file

@ -330,9 +330,8 @@ Export-Package: com.vividsolutions.jts,
org.opengis.webservice.feature
Require-Bundle: javax.vecmath;bundle-version="1.3.1",
javax.measure;bundle-version="1.0.0",
org.apache.commons.logging,
org.apache.log4j,
org.postgres;bundle-version="1.0.0"
org.postgres;bundle-version="1.0.0",
org.slf4j;bundle-version="1.7.5"
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Eclipse-BuddyPolicy: registered, ext, global
Bundle-ActivationPolicy: lazy

View file

@ -1,7 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry exported="true" kind="lib" path="slf4j-api-1.7.5.jar"/>
<classpathentry exported="true" kind="lib" path="slf4j-log4j12-1.7.5.jar"/>
<classpathentry exported="true" kind="lib" path="jul-to-slf4j-1.7.5.jar"/>
<classpathentry exported="true" kind="lib" path="log4j-over-slf4j-1.7.5.jar"/>
<classpathentry exported="true" kind="lib" path="jcl-over-slf4j-1.7.5.jar"/>
<classpathentry exported="true" kind="lib" path="slf4j-api-1.7.5.jar" sourcepath="slf4j-api-1.7.5-sources.jar"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="output" path="bin"/>

View file

@ -4,10 +4,17 @@ Bundle-Name: Slf4j Plug-in
Bundle-SymbolicName: org.slf4j
Bundle-Version: 1.7.5
Bundle-ClassPath: slf4j-api-1.7.5.jar,
slf4j-log4j12-1.7.5.jar
Export-Package: org.slf4j,
jcl-over-slf4j-1.7.5.jar,
log4j-over-slf4j-1.7.5.jar,
jul-to-slf4j-1.7.5.jar
Export-Package: org.apache.commons.logging,
org.apache.commons.logging.impl,
org.apache.log4j,
org.slf4j,
org.slf4j.bridge,
org.slf4j.helpers,
org.slf4j.spi
Require-Bundle: org.apache.log4j
Require-Bundle: ch.qos.logback;bundle-version="1.0.13"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Eclipse-BuddyPolicy: registered, ext, global
Eclipse-RegisterBuddy: ch.qos.logback

View file

@ -1,3 +1,5 @@
bin.includes = META-INF/,\
slf4j-api-1.7.5.jar,\
slf4j-log4j12-1.7.5.jar
jcl-over-slf4j-1.7.5.jar,\
log4j-over-slf4j-1.7.5.jar,\
jul-to-slf4j-1.7.5.jar

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -266,5 +266,5 @@ Export-Package: org.aopalliance.aop,
org.springframework.web.multipart.commons,
org.springframework.web.multipart.support,
org.springframework.web.util
Require-Bundle: org.apache.commons.logging;bundle-version="1.1.1",
org.quartz;bundle-version="1.8.6"
Require-Bundle: org.quartz;bundle-version="1.8.6",
org.slf4j;bundle-version="1.7.5"

View file

@ -0,0 +1,84 @@
<configuration debug="false" scan="true">
<!-- general application log -->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<param name="Threshold" value="INFO" />
<encoder>
<pattern>%-5p %d [%t] %c{0}: %m%n</pattern>
</encoder>
</appender>
<!-- hibernate log -->
<appender name="HibernateLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${edex.home}/logs/edex-${edex.run.mode}-hibernate-%d{yyyyMMdd}.log</fileNamePattern>
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%-5p %d [%t] %c{0}: %m%n</pattern>
</encoder>
</appender>
<logger name="com.raytheon">
<level value="INFO"/>
</logger>
<!-- used by c3p0 -->
<logger name="com.mchange">
<level value="ERROR"/>
</logger>
<logger name="com.tc">
<level value="WARN"/>
</logger>
<logger name="mx4j">
<level value="ERROR"/>
</logger>
<logger name="org.apache">
<level value="INFO"/>
</logger>
<logger name="org.apache.activemq.spring">
<level value="WARN"/>
</logger>
<logger name="org.apache.camel.impl.converter.DefaultTypeConverter">
<level value="ERROR"/>
</logger>
<logger name="org.apache.qpid">
<level value="INFO"/>
</logger>
<logger name="org.apache.qpid.client.BasicMessageProducer_0_10">
<level value="WARN"/>
</logger>
<logger name="org.apache.xbean.spring">
<level value="WARN"/>
</logger>
<logger name="org.quartz">
<level value="ERROR"/>
</logger>
<logger name="org.springframework">
<level value="ERROR"/>
</logger>
<logger name="uk.ltd.getahead">
<level value="WARN"/>
</logger>
<logger name="org.hibernate" additivity="false">
<level value="ERROR"/>
<appender-ref ref="HibernateLog" />
</logger>
<logger name="org.geotools">
<level value="WARN"/>
</logger>
<!-- <logger name="com.raytheon.uf.edex.datadelivery.provideragent" additivity="false">
<level value="INFO"/>
<appender-ref ref="ProviderAgent"/>
</logger>-->
<!-- default logging -->
<root>
<level value="INFO"/>
<appender-ref ref="console"/>
<!--
<appender-ref ref="ThreadBasedLog"/>
-->
</root>
</configuration>

View file

@ -0,0 +1,332 @@
<configuration debug="false" scan="true">
<!-- general application log -->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<param name="Threshold" value="INFO" />
<encoder>
<pattern>%-5p %d [%t] %c{0}: %m%n</pattern>
</encoder>
</appender>
<appender name="asyncConsole" class="ch.qos.logback.classic.AsyncAppender">
<appender-ref ref="console" />
</appender>
<!-- hibernate log -->
<appender name="HibernateLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${edex.home}/logs/edex-${edex.run.mode}-hibernate-%d{yyyyMMdd}.log</fileNamePattern>
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%-5p %d [%t] %c{0}: %m%n</pattern>
</encoder>
</appender>
<!-- radar log -->
<appender name="RadarLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${edex.home}/logs/edex-${edex.run.mode}-radar-%d{yyyyMMdd}.log</fileNamePattern>
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%-5p %d [%t] %c{0}: %m%n</pattern>
</encoder>
</appender>
<!-- satellite log -->
<appender name="SatelliteLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${edex.home}/logs/edex-${edex.run.mode}-satellite-%d{yyyyMMdd}.log</fileNamePattern>
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%-5p %d [%t] %c{0}: %m%n</pattern>
</encoder>
</appender>
<!-- shef log -->
<appender name="ShefLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${edex.home}/logs/edex-${edex.run.mode}-shef-%d{yyyyMMdd}.log</fileNamePattern>
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%-5p %d [%t] %c{0}: %m%n</pattern>
</encoder>
</appender>
<!-- smartInit log -->
<appender name="SmartInitLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${edex.home}/logs/edex-${edex.run.mode}-smartInit-%d{yyyyMMdd}.log</fileNamePattern>
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%-5p %d [%t] %c{0}: %m%n</pattern>
</encoder>
</appender>
<!-- GFEPerformance log -->
<appender name="GFEPerformanceLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${edex.home}/logs/edex-ingest-GFEPerformance-%d{yyyyMMdd}.log</fileNamePattern>
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%-5p %d [%t] %c{0}: %m%n</pattern>
</encoder>
</appender>
<appender name="GFEPerformanceLogAsync" class="ch.qos.logback.classic.AsyncAppender">
<appender-ref ref="GFEPerformanceLog" />
</appender>
<!-- Purge log -->
<appender name="PurgeLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${edex.home}/logs/edex-${edex.run.mode}-purge-%d{yyyyMMdd}.log</fileNamePattern>
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%-5p %d [%t] %c{0}: %m%n</pattern>
</encoder>
</appender>
<!-- Archive log -->
<appender name="ArchiveLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${edex.home}/logs/edex-${edex.run.mode}-archive-%d{yyyyMMdd}.log</fileNamePattern>
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%-5p %d [%t] %c{0}: %m%n</pattern>
</encoder>
</appender>
<!-- RouteFailedLog log -->
<appender name="RouteFailedLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${edex.home}/logs/edex-${edex.run.mode}-unrecognized-files-%d{yyyyMMdd}.log</fileNamePattern>
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%-5p %d [%t] %c{0}: %m%n</pattern>
</encoder>
</appender>
<!-- ShefPerformanceLog log -->
<appender name="ShefPerfLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${edex.home}/logs/edex-${edex.run.mode}-shef-performance-%d{yyyyMMdd}.log</fileNamePattern>
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%-5p %d [%t] %c{0}: %m%n</pattern>
</encoder>
</appender>
<!-- Gen Areal FFG log -->
<appender name="GenArealFFG" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${edex.home}/logs/edex-${edex.run.mode}-gen_areal_ffg-%d{yyyyMMdd}.log</fileNamePattern>
</rollingPolicy>
<encoder>
<pattern>%-5p %d [%t] %c{0}: %m%n</pattern>
</encoder>
<maxHistory>30</maxHistory>
</appender>
<!-- Gen Areal QPE log -->
<appender name="GenArealQPE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${edex.home}/logs/edex-${edex.run.mode}-gen_areal_qpe-%d{yyyyMMdd}.log</fileNamePattern>
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%-5p %d [%t] %c{0}: %m%n</pattern>
</encoder>
</appender>
<!-- Text log -->
<appender name="TextLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${edex.home}/logs/edex-${edex.run.mode}-text-%d{yyyyMMdd}.log</fileNamePattern>
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%-5p %d [%t] %c{0}: %m%n</pattern>
</encoder>
</appender>
<!-- Trigger log -->
<appender name="FailedTriggerLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${edex.home}/logs/edex-${edex.run.mode}-trigger-%d{yyyyMMdd}.log</fileNamePattern>
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%-5p %d [%t] %c{0}: %m%n</pattern>
</encoder>
</appender>
<appender name="ThreadBasedLog" class="com.raytheon.uf.common.status.logback.ThreadBasedAppender">
<threadPatterns>RadarLog:radarThreadPool.*;SatelliteLog:satelliteThreadPool.*;ShefLog:shefThreadPool.*;TextLog:textThreadPool.*;SmartInitLog:smartInit.*</threadPatterns>
<defaultAppender>asyncConsole</defaultAppender>
<appender-ref ref="asyncConsole"/>
<appender-ref ref="RadarLog"/>
<appender-ref ref="SatelliteLog"/>
<appender-ref ref="ShefLog"/>
<appender-ref ref="SmartInitLog"/>
<appender-ref ref="TextLog"/>
</appender>
<appender name="PerformanceLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${edex.home}/logs/edex-${edex.run.mode}-performance-%d{yyyyMMdd}.log</fileNamePattern>
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%-5p %d [%t] %c{0}: %m%n</pattern>
</encoder>
</appender>
<appender name="PerformanceLogAsync" class="ch.qos.logback.classic.AsyncAppender">
<appender-ref ref="PerformanceLog" />
</appender>
<logger name="PerformanceLogger" additivity="false">
<level value="DEBUG"/>
<appender-ref ref="PerformanceLogAsync" />
</logger>
<logger name="com.raytheon">
<level value="INFO"/>
</logger>
<logger name="com.raytheon.edex.plugin.shef">
<level value="INFO"/>
</logger>
<logger name="com.raytheon.edex.services.ArchiveSrv">
<level value="WARN"/>
</logger>
<logger name="com.raytheon.edex.services.NotifySrv">
<level value="WARN"/>
</logger>
<!-- used by c3p0 -->
<logger name="com.mchange">
<level value="ERROR"/>
</logger>
<logger name="com.tc">
<level value="WARN"/>
</logger>
<logger name="mx4j">
<level value="ERROR"/>
</logger>
<logger name="org.apache">
<level value="INFO"/>
</logger>
<logger name="org.apache.activemq.spring">
<level value="WARN"/>
</logger>
<logger name="org.apache.camel.impl.converter.DefaultTypeConverter">
<level value="ERROR"/>
</logger>
<logger name="org.apache.qpid">
<level value="INFO"/>
</logger>
<logger name="org.apache.qpid.client.BasicMessageProducer_0_10">
<level value="WARN"/>
</logger>
<logger name="org.apache.xbean.spring">
<level value="WARN"/>
</logger>
<logger name="org.quartz">
<level value="ERROR"/>
</logger>
<logger name="org.springframework">
<level value="ERROR"/>
</logger>
<logger name="uk.ltd.getahead">
<level value="WARN"/>
</logger>
<logger name="org.hibernate" additivity="false">
<level value="ERROR"/>
<appender-ref ref="HibernateLog" />
</logger>
<logger name="org.geotools">
<level value="WARN"/>
</logger>
<logger name="com.raytheon.uf.edex.purgesrv" additivity="false">
<level value="INFO"/>
<appender-ref ref="PurgeLog"/>
</logger>
<logger name="com.raytheon.uf.edex.database.purge" additivity="false">
<level value="INFO"/>
<appender-ref ref="PurgeLog"/>
</logger>
<logger name="com.raytheon.edex.db.purge.DataPurgeRegistry" additivity="false">
<level value="INFO"/>
<appender-ref ref="PurgeLog"/>
</logger>
<logger name="com.raytheon.edex.textdb.dao.StdTextProductDao.PurgeLogger" additivity="false">
<level value="INFO"/>
<appender-ref ref="PurgeLog"/>
</logger>
<logger name="com.raytheon.uf.edex.maintenance.archive" additivity="false">
<level value="INFO"/>
<appender-ref ref="ArchiveLog"/>
</logger>
<logger name="RouteFailedLog" additivity="false">
<level value="WARN"/>
<appender-ref ref="RouteFailedLog"/>
</logger>
<logger name="ShefPerfLog" additivity="false">
<level value="INFO"/>
<appender-ref ref="ShefPerfLog"/>
</logger>
<logger name="GenArealFFG" additivity="false">
<level value="DEBUG"/>
<appender-ref ref="GenArealFFG"/>
</logger>
<logger name="GenArealQPE" additivity="false">
<level value="DEBUG"/>
<appender-ref ref="GenArealQPE"/>
</logger>
<logger name="FailedTriggerLog" additivity="false">
<level value="ERROR"/>
<appender-ref ref="FailedTriggerLog"/>
</logger>
<logger name="GFEPerformanceLogger" additivity="false">
<level value="Debug"/>
<appender-ref ref="GFEPerformanceLogAsync" />
</logger>
<!-- default logging -->
<root>
<level value="INFO"/>
<appender-ref ref="ThreadBasedLog"/>
</root>
</configuration>

View file

@ -0,0 +1,158 @@
<configuration debug="false" scan="true">
<!-- general application log -->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%-5p %d [%t] %c{0}: %m%n</pattern>
</encoder>
</appender>
<!-- hibernate log -->
<appender name="HibernateLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${edex.home}/logs/edex-${edex.run.mode}-hibernate-%d{yyyyMMdd}.log</fileNamePattern>
</rollingPolicy>
<encoder>
<pattern>%-5p %d [%t] %c{0}: %m%n</pattern>
</encoder>
</appender>
<!-- harvester log -->
<appender name="HarvesterLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${edex.home}/logs/edex-${edex.run.mode}-harvester-%d{yyyyMMdd}.log</fileNamePattern>
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%-5p %d [%t] %c{0}: %m%n</pattern>
</encoder>
</appender>
<!-- BandwidthManager log -->
<appender name="BandwidthManagerLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${edex.home}/logs/edex-${edex.run.mode}-bandwidth-%d{yyyyMMdd}.log</fileNamePattern>
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%-5p %d [%t] %c{0}: %m%n</pattern>
</encoder>
</appender>
<!-- data delivery log -->
<appender name="DataDeliveryLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${edex.home}/logs/edex-${edex.run.mode}-datadelivery-%d{yyyyMMdd}.log</fileNamePattern>
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%-5p %d [%t] %c{0}: %m%n</pattern>
</encoder>
</appender>
<!-- Purge log -->
<appender name="PurgeLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${edex.home}/logs/edex-${edex.run.mode}-purge-%d{yyyyMMdd}.log</fileNamePattern>
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%-5p %d [%t] %c{0}: %m%n</pattern>
</encoder>
</appender>
<appender name="ThreadBasedLog" class="com.raytheon.uf.common.status.logback.ThreadBasedAppender">
<threadPatterns>HarvesterLog:harvesterThreadPool.*,crawlerThreadPool.*,Crawler.*</threadPatterns>
<defaultAppender>console</defaultAppender>
<appender-ref ref="console"/>
<appender-ref ref="HarvesterLog"/>
</appender>
<logger name="com.raytheon">
<level value="INFO"/>
</logger>
<!-- used by c3p0 -->
<logger name="com.mchange">
<level value="ERROR"/>
</logger>
<logger name="com.tc">
<level value="WARN"/>
</logger>
<logger name="mx4j">
<level value="ERROR"/>
</logger>
<logger name="org.apache">
<level value="INFO"/>
</logger>
<logger name="org.apache.activemq.spring">
<level value="WARN"/>
</logger>
<logger name="org.apache.camel.impl.converter.DefaultTypeConverter">
<level value="ERROR"/>
</logger>
<logger name="org.apache.qpid">
<level value="INFO"/>
</logger>
<logger name="org.apache.qpid.client.BasicMessageProducer_0_10">
<level value="WARN"/>
</logger>
<logger name="org.apache.xbean.spring">
<level value="WARN"/>
</logger>
<logger name="org.quartz">
<level value="ERROR"/>
</logger>
<logger name="org.springframework">
<level value="ERROR"/>
</logger>
<logger name="uk.ltd.getahead">
<level value="WARN"/>
</logger>
<logger name="org.hibernate" additivity="false">
<level value="ERROR"/>
<appender-ref ref="HibernateLog" />
</logger>
<logger name="org.geotools">
<level value="WARN"/>
</logger>
<logger name="edu">
<level value="WARN" />
</logger>
<logger name="com.raytheon.uf.common.datadelivery" additivity="false">
<level value="INFO"/>
<appender-ref ref="DataDeliveryLog"/>
</logger>
<!-- Registry events to go to main registry log -->
<logger name="com.raytheon.uf.common.datadelivery.registry" additivity="false">
<level value="INFO"/>
<appender-ref ref="console"/>
</logger>
<logger name="com.raytheon.uf.common.datadelivery.bandwidth" additivity="false">
<level value="INFO"/>
<appender-ref ref="BandwidthManagerLog"/>
</logger>
<logger name="com.raytheon.uf.edex.datadelivery.bandwidth" additivity="false">
<level value="INFO"/>
<appender-ref ref="BandwidthManagerLog"/>
</logger>
<logger name="com.raytheon.uf.edex.datadelivery.harvester.purge" additivity="false">
<level value="INFO"/>
<appender-ref ref="PurgeLog"/>
</logger>
<!-- default logging -->
<root>
<level value="INFO"/>
<appender-ref ref="ThreadBasedLog"/>
</root>
</configuration>

View file

@ -0,0 +1,151 @@
<configuration debug="false" scan="true">
<!-- general application log -->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%-5p %d [%t] %c{0}: %m%n</pattern>
</encoder>
</appender>
<appender name="asyncConsole" class="ch.qos.logback.classic.AsyncAppender">
<appender-ref ref="console" />
</appender>
<!-- hibernate log -->
<appender name="HibernateLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${edex.home}/logs/edex-${edex.run.mode}-hibernate-%d{yyyyMMdd}.log</fileNamePattern>
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%-5p %d [%t] %c{0}: %m%n</pattern>
</encoder>
</appender>
<!-- ProductSrvRequest log -->
<appender name="ProductSrvRequestLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${edex.home}/logs/edex-request-productSrvRequest-%d{yyyyMMdd}.log</fileNamePattern>
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%-5p %d [%t] %c{0}: %m%n</pattern>
</encoder>
</appender>
<appender name="ProductSrvRequestLogAsync" class="ch.qos.logback.classic.AsyncAppender">
<appender-ref ref="ProductSrvRequestLog" />
</appender>
<!-- ThriftSrv (RemoteRequestRouteWrapper) request log -->
<appender name="ThriftSrvRequestLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${edex.home}/logs/edex-request-thriftSrv-%d{yyyyMMdd}.log</fileNamePattern>
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%-5p %d [%t] %c{0}: %m%n</pattern>
</encoder>
</appender>
<appender name="ThriftSrvRequestLogAsync" class="ch.qos.logback.classic.AsyncAppender">
<appender-ref ref="ThriftSrvRequestLog" />
</appender>
<!-- Performance log -->
<appender name="PerformanceLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${edex.home}/logs/edex-${edex.run.mode}-performance-%d{yyyyMMdd}.log</fileNamePattern>
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%-5p %d [%t] %c{0}: %m%n</pattern>
</encoder>
</appender>
<appender name="PerformanceLogAsync" class="ch.qos.logback.classic.AsyncAppender">
<appender-ref ref="PerformanceLog" />
</appender>
<logger name="ProductSrvRequestLogger" additivity="false">
<level value="DEBUG"/>
<appender-ref ref="ProductSrvRequestLogAsync"/>
</logger>
<logger name="ThriftSrvRequestLogger" additivity="false">
<level value="Info"/>
<appender-ref ref="ThriftSrvRequestLogAsync" />
</logger>
<logger name="GFEPerformanceLogger" additivity="false">
<level value="DEBUG"/>
<appender-ref ref="PerformanceLogAsync" />
</logger>
<logger name="PerformanceLogger" additivity="false">
<level value="DEBUG"/>
<appender-ref ref="PerformanceLogAsync" />
</logger>
<logger name="com.raytheon">
<level value="INFO"/>
</logger>
<logger name="com.raytheon.edex.services.ArchiveSrv">
<level value="WARN"/>
</logger>
<logger name="com.raytheon.edex.services.NotifySrv">
<level value="WARN"/>
</logger>
<!-- used by c3p0 -->
<logger name="com.mchange">
<level value="ERROR"/>
</logger>
<logger name="com.tc">
<level value="WARN"/>
</logger>
<logger name="mx4j">
<level value="ERROR"/>
</logger>
<logger name="org.apache">
<level value="INFO"/>
</logger>
<logger name="org.apache.activemq.spring">
<level value="WARN"/>
</logger>
<logger name="org.apache.camel.impl.converter.DefaultTypeConverter">
<level value="ERROR"/>
</logger>
<logger name="org.apache.qpid">
<level value="INFO"/>
</logger>
<logger name="org.apache.qpid.client.BasicMessageProducer_0_10">
<level value="WARN"/>
</logger>
<logger name="org.apache.xbean.spring">
<level value="WARN"/>
</logger>
<logger name="org.quartz">
<level value="ERROR"/>
</logger>
<logger name="org.springframework">
<level value="ERROR"/>
</logger>
<logger name="uk.ltd.getahead">
<level value="WARN"/>
</logger>
<logger name="org.hibernate" additivity="false">
<level value="ERROR"/>
<appender-ref ref="HibernateLog" />
</logger>
<logger name="org.geotools">
<level value="WARN"/>
</logger>
<!-- default logging -->
<root>
<level value="INFO"/>
<appender-ref ref="asyncConsole"/>
</root>
</configuration>

View file

@ -0,0 +1,3 @@
# send any java.util.logging to SLF4J
# only thing known in the system using java.util.logging is CXF
handlers = org.slf4j.bridge.SLF4JBridgeHandler

View file

@ -297,7 +297,9 @@
</bean>
<!-- Redirect geotools log -->
<bean class="com.raytheon.uf.common.geospatial.LogRedirector" factory-method="getInstance"/>
<bean class="com.raytheon.uf.common.geospatial.LogRedirector" factory-method="setGeotoolsLogFactory">
<constructor-arg value="org.geotools.util.logging.Log4JLoggerFactory" />
</bean>
<!-- Reference properties files -->
<bean id="projectPropertyConfigurer"

View file

@ -116,7 +116,20 @@ wrapper.java.additional.archive.1=-Ddata.archive.root=${DATA_ARCHIVE_ROOT}
# determines which architecture.properties file to use
wrapper.java.additional.arch.1=-Dedex.arch=${EDEX_BITS}-bit
wrapper.java.additional.log.1=-Dlog4j.configuration=${LOG4J_CONF}
# determines which log config file to use
wrapper.java.additional.log.1=-Dlogback.configurationFile=${LOG_CONF}
# only allows warn and error status messages from logback's internal status logger
# Note that setting the debug="true" flag on a logback configuration file will override this
# and allow info/debug messages through.
wrapper.java.additional.log.2=-Dlogback.statusListenerClass=com.raytheon.uf.common.status.logback.UFLogbackInternalStatusListener
# to keep c3p0 from filling up logs since they just had to not use a standard logging API
wrapper.java.additional.log.3=-Dcom.mchange.v2.log.MLog=com.mchange.v2.log.FallbackMLog
wrapper.java.additional.log.4=-Dcom.mchange.v2.log.FallbackMLog.DEFAULT_CUTOFF_LEVEL=OFF
# to get java.util.logging to go into slf4j....don't use java.util.logging, this is only for open src plugins using it
wrapper.java.additional.log.5=-Djava.util.logging.config.file=${EDEX_HOME}/conf/logging.properties
# used by uengineWeb page
wrapper.java.additional.web.1=-Dweb.port=8080

View file

@ -25,5 +25,5 @@ export MAX_MEM=1536 # in Meg
export METADATA_POOL_MIN=10
export EDEX_DEBUG_PORT=5009
export EDEX_JMX_PORT=1620
export LOG4J_CONF=log4j-datadelivery.xml
export LOG_CONF=logback-registry.xml
export MGMT_PORT=9605

View file

@ -25,6 +25,6 @@ export MAX_MEM=1536 # in Meg
export METADATA_POOL_MIN=10
export EDEX_DEBUG_PORT=5010
export EDEX_JMX_PORT=1621
export LOG4J_CONF=log4j-dataprovideragent.xml
export LOG_CONF=logback-dataprovideragent.xml
export MGMT_PORT=9606

View file

@ -40,5 +40,5 @@ export SERIALIZE_POOL_MAX_SIZE=16
export SERIALIZE_STREAM_INIT_SIZE_MB=2
export SERIALIZE_STREAM_MAX_SIZE_MB=6
export LOG4J_CONF=log4j.xml
export LOG_CONF=logback.xml
export MGMT_PORT=9600

View file

@ -25,5 +25,5 @@ export MAX_MEM=896 # in Meg
export METADATA_POOL_MIN=10
export EDEX_DEBUG_PORT=5006
export EDEX_JMX_PORT=1617
export LOG4J_CONF=log4j-ingest.xml
export LOG_CONF=logback-ingest.xml
export MGMT_PORT=9602

View file

@ -24,7 +24,7 @@ export MAX_PERM_SIZE=192m
export METADATA_POOL_MIN=10
export EDEX_DEBUG_PORT=5011
export EDEX_JMX_PORT=1622
export LOG4J_CONF=log4j-registry.xml
export LOG_CONF=logback-registry.xml
export MGMT_PORT=9607
# Registry specific ports

View file

@ -24,7 +24,7 @@ export MAX_PERM_SIZE=192m
export METADATA_POOL_MIN=10
export EDEX_DEBUG_PORT=5009
export EDEX_JMX_PORT=1620
export LOG4J_CONF=log4j-registry.xml
export LOG_CONF=logback-registry.xml
export MGMT_PORT=9605
# Registry specific ports

View file

@ -24,7 +24,7 @@ export MAX_PERM_SIZE=192m
export METADATA_POOL_MIN=10
export EDEX_DEBUG_PORT=5009
export EDEX_JMX_PORT=1620
export LOG4J_CONF=log4j-registry.xml
export LOG_CONF=logback-registry.xml
export MGMT_PORT=9605
# Registry specific ports

View file

@ -31,12 +31,10 @@ Require-Bundle: net.sf.ehcache,
org.geotools,
org.jep,
org.junit,
org.apache.commons.logging,
org.apache.commons.beanutils,
org.apache.commons.lang,
javax.measure,
org.apache.commons.collections,
org.apache.log4j,
net.sf.cglib;visibility:=reexport,
com.facebook.thrift,
javax.persistence,
@ -57,5 +55,6 @@ Require-Bundle: net.sf.ehcache,
com.raytheon.uf.common.util;visibility:=reexport,
com.raytheon.uf.common.dataquery;visibility:=reexport,
com.raytheon.uf.edex.database;visibility:=reexport,
com.raytheon.uf.edex.core;visibility:=reexport
com.raytheon.uf.edex.core;visibility:=reexport,
org.slf4j;bundle-version="1.7.5"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6

View file

@ -5,9 +5,9 @@ Bundle-SymbolicName: com.raytheon.edex.ingestsrv
Bundle-Version: 1.12.1174.qualifier
Bundle-Vendor: RAYTHEON
Require-Bundle: com.raytheon.edex.common,
org.apache.commons.logging,
org.apache.commons.lang,
org.springframework;bundle-version="2.5.6"
org.springframework;bundle-version="2.5.6",
org.slf4j;bundle-version="1.7.5"
Export-Package: com.raytheon.edex.services
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Import-Package: com.raytheon.uf.edex.core,

View file

@ -4,13 +4,13 @@ Bundle-Name: Utilitysrv Plug-in
Bundle-SymbolicName: com.raytheon.edex.utilitysrv
Bundle-Version: 1.12.1174.qualifier
Bundle-Vendor: RAYTHEON
Require-Bundle: org.apache.commons.logging,
com.raytheon.edex.common,
Require-Bundle: com.raytheon.edex.common,
com.raytheon.uf.common.localization,
com.raytheon.uf.common.serialization.comm;bundle-version="1.0.0",
com.raytheon.uf.edex.auth,
com.raytheon.uf.common.status;bundle-version="1.12.1130",
com.raytheon.uf.common.auth;bundle-version="1.12.1174"
com.raytheon.uf.common.auth;bundle-version="1.12.1174",
org.slf4j;bundle-version="1.7.5"
Export-Package: com.raytheon.edex.services
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Import-Package: com.raytheon.uf.common.auth.req,

View file

@ -265,25 +265,12 @@
version="0.0.0"
unpack="false"/>
<plugin
id="org.apache.commons.logging"
download-size="0"
install-size="0"
version="0.0.0"/>
<plugin
id="org.apache.http"
download-size="0"
install-size="0"
version="0.0.0"/>
<plugin
id="org.apache.log4j"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
id="org.apache.velocity"
download-size="0"
@ -399,4 +386,10 @@
install-size="0"
version="0.0.0"/>
<plugin
id="ch.qos.logback"
download-size="0"
install-size="0"
version="0.0.0"/>
</feature>

View file

@ -9,7 +9,6 @@ Bundle-Vendor: Raytheon
Require-Bundle: javax.measure,
javax.persistence,
org.apache.commons.lang,
org.apache.commons.logging,
com.raytheon.uf.common.dataplugin,
com.raytheon.uf.common.localization,
com.raytheon.uf.common.serialization,

View file

@ -34,9 +34,6 @@ import javax.measure.unit.Unit;
import javax.measure.unit.UnitFormat;
import javax.xml.bind.JAXB;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import com.raytheon.uf.common.comm.CommunicationException;
import com.raytheon.uf.common.dataplugin.level.request.GetLevelByIdRequest;
import com.raytheon.uf.common.dataplugin.level.request.GetLevelRequest;
@ -60,6 +57,7 @@ import com.raytheon.uf.common.status.UFStatus.Priority;
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Sep 03, 2009 rjpeter Initial creation.
* Jul 01, 2013 2142 njensen Remove apache.commons.logging
* </pre>
*
* @author rjpeter
@ -71,14 +69,10 @@ public class LevelFactory {
public static final String UNKNOWN_LEVEL = "UNKNOWN";
private static final String LEVEL_FILENAME = "level/LevelAliases.xml";
private static final String MASTER_LEVEL_FILENAME = "/level/masterLevels.xml";
private static LevelFactory instance = new LevelFactory();
private Log logger = LogFactory.getLog(LevelFactory.class);
// contains the master levels
private Map<String, MasterLevel> masterLevelCache = new HashMap<String, MasterLevel>();
@ -209,7 +203,7 @@ public class LevelFactory {
e.printStackTrace();
}
} else {
logger.warn("Requested level name [" + name
statusHandler.warn("Requested level name [" + name
+ "] does not map to a defined level");
// TODO throw level exception
}
@ -249,7 +243,7 @@ public class LevelFactory {
cacheMasterLevel(rval);
}
} else {
logger.error("No level retrieval adapter defined");
statusHandler.error("No level retrieval adapter defined");
}
return rval;

View file

@ -23,7 +23,8 @@ import com.raytheon.uf.common.status.UFStatus;
import com.raytheon.uf.common.status.UFStatus.Priority;
/**
* TODO Add Description
* Redirects geotools logs to another logging framework. Pray that someday they
* will just hook into SLF4J and save us the trouble.
*
* <pre>
*
@ -32,6 +33,7 @@ import com.raytheon.uf.common.status.UFStatus.Priority;
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Mar 29, 2011 rjpeter Initial creation
* Jun 27, 2013 2142 njensen Inject factory from spring
*
* </pre>
*
@ -40,16 +42,15 @@ import com.raytheon.uf.common.status.UFStatus.Priority;
*/
public class LogRedirector {
private static LogRedirector instance = new LogRedirector();
public static LogRedirector getInstance() {
return instance;
public static LogRedirector setGeotoolsLogFactory(String factoryName) {
return new LogRedirector(factoryName);
}
public LogRedirector() {
private LogRedirector(String factoryName) {
try {
org.geotools.util.logging.Logging.GEOTOOLS
.setLoggerFactory("org.geotools.util.logging.CommonsLoggerFactory");
.setLoggerFactory(factoryName);
} catch (ClassNotFoundException e) {
UFStatus.getHandler(LogRedirector.class).handle(Priority.WARN,
"Failed to redirect geotools logging", e);

View file

@ -5,6 +5,8 @@ Bundle-SymbolicName: com.raytheon.uf.common.status
Bundle-Version: 1.12.1174.qualifier
Bundle-Vendor: RAYTHEON
Eclipse-BuddyPolicy: ext, registered, global
Eclipse-RegisterBuddy: ch.qos.logback
Export-Package: com.raytheon.uf.common.status
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Require-Bundle: org.apache.log4j;bundle-version="1.0.0"
Require-Bundle: org.slf4j;bundle-version="1.7.5",
ch.qos.logback;bundle-version="1.0.13"

View file

@ -1,6 +1,7 @@
package com.raytheon.uf.common.status;
import org.apache.log4j.Logger;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* Log4j Performance status handler.
@ -21,7 +22,7 @@ import org.apache.log4j.Logger;
public class Log4JPerformanceStatusHandler implements IPerformanceStatusHandler {
/** Logger */
private final Logger perfLog = Logger.getLogger("PerformanceLogger");
private final Logger perfLog = LoggerFactory.getLogger("PerformanceLogger");
/** Prefix to append to all log messages */
private final String prefix;

View file

@ -0,0 +1,70 @@
/**
* This software was developed and / or modified by Raytheon Company,
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
*
* U.S. EXPORT CONTROLLED TECHNICAL DATA
* This software product contains export-restricted data whose
* export/transfer/disclosure is restricted by U.S. law. Dissemination
* to non-U.S. persons whether in the United States or abroad requires
* an export license or other authorization.
*
* Contractor Name: Raytheon Company
* Contractor Address: 6825 Pine Street, Suite 340
* Mail Stop B8
* Omaha, NE 68106
* 402.291.0100
*
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
* further licensing information.
**/
package com.raytheon.uf.common.status.logback;
import ch.qos.logback.core.rolling.FixedWindowRollingPolicy;
/**
* Fixed window rolling policy that determines the filename pattern from an
* environment variable.
*
* <pre>
*
* SOFTWARE HISTORY
*
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Jun 26, 2013 2142 njensen Initial creation
*
* </pre>
*
* @author njensen
* @version 1.0
*/
public class EnvConfigurableFixedWindowRollingPolicy extends
FixedWindowRollingPolicy {
private String envLogVar;
/**
* @param envLogVar
* the envLogVar to set
*/
public void setEnvLogVar(String envLogVar) {
this.envLogVar = envLogVar;
setFileFromEnv();
}
private void setFileFromEnv() {
if (envLogVar == null || envLogVar.isEmpty()) {
this.addWarn("EnvConfigurableFixedWindowRollingPolicy requires EnvLogVar to be set.");
} else {
String file = System.getenv(envLogVar);
if (file == null || file.isEmpty()) {
this.addWarn("Appender needs environment variable, "
+ envLogVar + ", to be set.");
} else {
setFileNamePattern(file + "%i");
}
}
}
}

View file

@ -0,0 +1,83 @@
/**
* This software was developed and / or modified by Raytheon Company,
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
*
* U.S. EXPORT CONTROLLED TECHNICAL DATA
* This software product contains export-restricted data whose
* export/transfer/disclosure is restricted by U.S. law. Dissemination
* to non-U.S. persons whether in the United States or abroad requires
* an export license or other authorization.
*
* Contractor Name: Raytheon Company
* Contractor Address: 6825 Pine Street, Suite 340
* Mail Stop B8
* Omaha, NE 68106
* 402.291.0100
*
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
* further licensing information.
**/
package com.raytheon.uf.common.status.logback;
import ch.qos.logback.classic.spi.ILoggingEvent;
import ch.qos.logback.core.rolling.RollingFileAppender;
/**
* RollingFileAppender retrieves the value set for property EnvLogVar from the
* system environment to define the log file.
*
* <pre>
*
* SOFTWARE HISTORY
*
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Sep 10, 2012 bgonzale Initial creation
* Mar 21, 2013 1638 mschenke Moved from alertviz to core
* Jun 27, 2013 2142 njensen Use SLF4J instead of log4j
*
* </pre>
*
* @author bgonzale
* @version 1.0
*/
public class EnvConfigurableRollingFileAppender extends
RollingFileAppender<ILoggingEvent> {
private String envLogVar;
/**
* @param envLogVar
* the envLogVar to set
*/
public void setEnvLogVar(String envLogVar) {
this.envLogVar = envLogVar;
setFileFromEnv();
}
/**
* @return the envLogVar
*/
public String getEnvLogVar() {
return envLogVar;
}
private void setFileFromEnv() {
if (envLogVar == null || envLogVar.isEmpty()) {
this.addWarn("Appender [" + name
+ "] requires EnvLogVar to be set.");
} else {
String file = System.getenv(envLogVar);
if (file == null || file.isEmpty()) {
this.addWarn("Appender [" + name
+ "] needs environment variable, " + envLogVar
+ ", to be set.");
} else {
setFile(file);
}
}
}
}

View file

@ -0,0 +1,74 @@
/**
* This software was developed and / or modified by Raytheon Company,
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
*
* U.S. EXPORT CONTROLLED TECHNICAL DATA
* This software product contains export-restricted data whose
* export/transfer/disclosure is restricted by U.S. law. Dissemination
* to non-U.S. persons whether in the United States or abroad requires
* an export license or other authorization.
*
* Contractor Name: Raytheon Company
* Contractor Address: 6825 Pine Street, Suite 340
* Mail Stop B8
* Omaha, NE 68106
* 402.291.0100
*
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
* further licensing information.
**/
package com.raytheon.uf.common.status.logback;
import ch.qos.logback.classic.Level;
import ch.qos.logback.classic.spi.ILoggingEvent;
import ch.qos.logback.core.filter.Filter;
import ch.qos.logback.core.spi.FilterReply;
/**
* Filter that only allows through logging events that are equal to or below the
* set threshold level.
*
* <pre>
*
* SOFTWARE HISTORY
*
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Jun 26, 2013 njensen Initial creation
*
* </pre>
*
* @author njensen
* @version 1.0
*/
public class InvertedThresholdFilter extends Filter<ILoggingEvent> {
protected Level thresholdLevel;
@Override
public FilterReply decide(ILoggingEvent event) {
if (!isStarted()) {
return FilterReply.NEUTRAL;
}
int eventLevelInt = event.getLevel().toInt();
int thresholdLevelInt = thresholdLevel.toInt();
if (eventLevelInt <= thresholdLevelInt) {
return FilterReply.NEUTRAL;
} else {
return FilterReply.DENY;
}
}
public void setLevel(String level) {
this.thresholdLevel = Level.toLevel(level);
}
@Override
public void start() {
if (this.thresholdLevel != null) {
super.start();
}
}
}

View file

@ -17,27 +17,25 @@
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
* further licensing information.
**/
package com.raytheon.uf.edex.log;
package com.raytheon.uf.common.status.logback;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Timer;
import java.util.TimerTask;
import java.util.Map.Entry;
import java.util.regex.Pattern;
import org.apache.log4j.Appender;
import org.apache.log4j.AppenderSkeleton;
import org.apache.log4j.spi.AppenderAttachable;
import org.apache.log4j.spi.LoggingEvent;
import ch.qos.logback.classic.spi.ILoggingEvent;
import ch.qos.logback.core.Appender;
import ch.qos.logback.core.AppenderBase;
import ch.qos.logback.core.spi.AppenderAttachable;
/**
* TODO Add Description
* Appender for logging based on the thread name of the logging event.
*
* <pre>
*
@ -45,6 +43,7 @@ import org.apache.log4j.spi.LoggingEvent;
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Aug 25, 2010 rjpeter Initial creation
* Jun 24, 2013 2142 njensen Changes for logback compatibility
*
* </pre>
*
@ -52,19 +51,19 @@ import org.apache.log4j.spi.LoggingEvent;
* @version 1.0
*/
public class ThreadBasedAppender extends AppenderSkeleton implements Appender,
AppenderAttachable {
private Map<String, Appender> appenderMap = new HashMap<String, Appender>();
public class ThreadBasedAppender<E extends ILoggingEvent> extends
AppenderBase<E> implements AppenderAttachable<E> {
private Map<String, Appender<E>> appenderMap = new HashMap<String, Appender<E>>();
private Map<String, List<Pattern>> threadPatterns = new HashMap<String, List<Pattern>>();
private Map<String, Appender> threadAppenderCache = new HashMap<String, Appender>();
private Map<String, Appender<E>> threadAppenderCache = new HashMap<String, Appender<E>>();
private Map<String, Long> threadAppenderTimeCache = new HashMap<String, Long>();
private String defaultAppenderName;
private Appender defaultAppender;
private Appender<E> defaultAppender;
// keep thread names and their associated appender mapped for 10 minutes
private static final long RETENTION_TIME = 1000 * 60 * 1;
@ -72,7 +71,7 @@ public class ThreadBasedAppender extends AppenderSkeleton implements Appender,
private Timer cacheTimer;
@Override
public void activateOptions() {
public void start() {
if (defaultAppenderName != null) {
defaultAppender = appenderMap.get(defaultAppenderName);
}
@ -100,22 +99,18 @@ public class ThreadBasedAppender extends AppenderSkeleton implements Appender,
};
cacheTimer.schedule(purgeCache, 1000, 60000);
super.start();
}
@Override
public void addAppender(Appender newAppender) {
public void addAppender(Appender<E> newAppender) {
if (newAppender != null && newAppender.getName() != null) {
appenderMap.put(newAppender.getName(), newAppender);
}
}
@Override
public Enumeration<Appender> getAllAppenders() {
return Collections.enumeration(appenderMap.values());
}
@Override
public Appender getAppender(String name) {
public Appender<E> getAppender(String name) {
if (name != null) {
return appenderMap.get(name);
}
@ -124,7 +119,7 @@ public class ThreadBasedAppender extends AppenderSkeleton implements Appender,
}
@Override
public boolean isAttached(Appender appender) {
public boolean isAttached(Appender<E> appender) {
if (appender != null) {
return appenderMap.containsKey(appender.getName());
}
@ -133,28 +128,36 @@ public class ThreadBasedAppender extends AppenderSkeleton implements Appender,
}
@Override
public void removeAllAppenders() {
public void detachAndStopAllAppenders() {
appenderMap.clear();
}
@Override
public void removeAppender(Appender appender) {
public boolean detachAppender(Appender<E> appender) {
boolean retVal = false;
if (appender != null) {
appenderMap.remove(appender.getName());
retVal = detachAppender(appender.getName());
}
return retVal;
}
@Override
public void removeAppender(String name) {
public boolean detachAppender(String name) {
boolean retVal = false;
if (name != null) {
appenderMap.remove(name);
Appender<E> app = appenderMap.remove(name);
if (app != null) {
retVal = true;
}
}
return retVal;
}
@Override
protected void append(LoggingEvent event) {
protected void append(E event) {
String threadName = event.getThreadName();
Appender app = null;
Appender<E> app = null;
app = threadAppenderCache.get(threadName);
@ -180,7 +183,7 @@ public class ThreadBasedAppender extends AppenderSkeleton implements Appender,
synchronized (this) {
// not modifiying the map directly to avoid concurrent
// exceptions without forcing synchronization
Map<String, Appender> tmp = new HashMap<String, Appender>(
Map<String, Appender<E>> tmp = new HashMap<String, Appender<E>>(
threadAppenderCache);
tmp.put(threadName, app);
threadAppenderCache = tmp;
@ -199,15 +202,6 @@ public class ThreadBasedAppender extends AppenderSkeleton implements Appender,
}
}
@Override
public void close() {
}
@Override
public boolean requiresLayout() {
return true;
}
public void setThreadPatterns(String value) {
String[] appenderPatterns = value.split("[;\n]");
for (String appenderPattern : appenderPatterns) {
@ -230,8 +224,8 @@ public class ThreadBasedAppender extends AppenderSkeleton implements Appender,
private void removeOldEntries() {
long curTime = System.currentTimeMillis();
List<String> keysToRemove = new ArrayList<String>(threadAppenderCache
.size());
List<String> keysToRemove = new ArrayList<String>(
threadAppenderCache.size());
for (Entry<String, Long> entry : threadAppenderTimeCache.entrySet()) {
if (curTime - entry.getValue() > RETENTION_TIME) {
@ -245,7 +239,7 @@ public class ThreadBasedAppender extends AppenderSkeleton implements Appender,
synchronized (this) {
// not modifiying the map directly to avoid concurrent
// exceptions without forcing synchronization
Map<String, Appender> tmp = new HashMap<String, Appender>(
Map<String, Appender<E>> tmp = new HashMap<String, Appender<E>>(
threadAppenderCache);
tmp.remove(key);
threadAppenderCache = tmp;
@ -256,4 +250,9 @@ public class ThreadBasedAppender extends AppenderSkeleton implements Appender,
}
}
}
@Override
public Iterator<Appender<E>> iteratorForAppenders() {
return appenderMap.values().iterator();
}
}

View file

@ -0,0 +1,51 @@
/**
* This software was developed and / or modified by Raytheon Company,
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
*
* U.S. EXPORT CONTROLLED TECHNICAL DATA
* This software product contains export-restricted data whose
* export/transfer/disclosure is restricted by U.S. law. Dissemination
* to non-U.S. persons whether in the United States or abroad requires
* an export license or other authorization.
*
* Contractor Name: Raytheon Company
* Contractor Address: 6825 Pine Street, Suite 340
* Mail Stop B8
* Omaha, NE 68106
* 402.291.0100
*
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
* further licensing information.
**/
package com.raytheon.uf.common.status.logback;
import ch.qos.logback.core.status.OnConsoleStatusListener;
import ch.qos.logback.core.status.Status;
/**
* Status listener for Logback's internal status messages. Shows warnings and
* errors from logback itself to the console.
*
* <pre>
*
* SOFTWARE HISTORY
*
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Jun 27, 2013 njensen Initial creation
*
* </pre>
*
* @author njensen
* @version 1.0
*/
public class UFLogbackInternalStatusListener extends OnConsoleStatusListener {
public void addStatusEvent(Status status) {
if (status.getLevel() >= Status.WARN) {
super.addStatusEvent(status);
}
}
}

View file

@ -28,13 +28,6 @@
version="0.0.0"
unpack="false"/>
<plugin
id="com.raytheon.edex.monitorsrv"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
id="com.raytheon.edex.autobldsrv"
download-size="0"

View file

@ -10,7 +10,6 @@ Export-Package: com.raytheon.uf.edex.core,
com.raytheon.uf.edex.core.hdf5,
com.raytheon.uf.edex.core.props
Require-Bundle: org.springframework;bundle-version="2.5.6",
org.apache.commons.logging;bundle-version="1.1.1",
com.raytheon.uf.common.dataplugin;bundle-version="1.12.1174",
com.raytheon.uf.common.time,
com.raytheon.uf.common.message,
@ -19,4 +18,5 @@ Require-Bundle: org.springframework;bundle-version="2.5.6",
com.raytheon.uf.common.serialization,
com.raytheon.uf.common.serialization.comm,
org.apache.commons.configuration;bundle-version="1.6.0",
org.apache.commons.lang;bundle-version="2.3.0"
org.apache.commons.lang;bundle-version="2.3.0",
org.slf4j;bundle-version="1.7.5"

View file

@ -9,7 +9,6 @@ Require-Bundle: com.raytheon.uf.common.dataquery;bundle-version="1.0.0",
com.raytheon.uf.common.serialization;bundle-version="1.12.1173",
com.raytheon.uf.common.serialization.comm;bundle-version="1.12.1173",
net.sf.ehcache,
org.apache.commons.logging,
org.springframework;bundle-version="2.5.6",
org.hibernate;bundle-version="1.0.0",
com.raytheon.uf.edex.core,
@ -20,7 +19,8 @@ Require-Bundle: com.raytheon.uf.common.dataquery;bundle-version="1.0.0",
com.raytheon.uf.common.geospatial;bundle-version="1.12.1174",
org.geotools;bundle-version="2.6.4",
com.raytheon.uf.common.localization;bundle-version="1.12.1174",
com.raytheon.uf.common.util
com.raytheon.uf.common.util,
org.slf4j;bundle-version="1.7.5"
Export-Package: com.raytheon.uf.edex.database,
com.raytheon.uf.edex.database.cluster,
com.raytheon.uf.edex.database.cluster.handler,

View file

@ -13,9 +13,9 @@ Require-Bundle: org.apache.camel;bundle-version="1.0.0",
com.raytheon.uf.common.status,
com.raytheon.uf.common.util,
com.raytheon.uf.edex.core,
org.apache.commons.logging,
com.raytheon.uf.common.stats;bundle-version="1.0.0",
org.quartz;bundle-version="1.8.6"
org.quartz;bundle-version="1.8.6",
org.slf4j;bundle-version="1.7.5"
Export-Package: com.raytheon.uf.edex.esb.camel,
com.raytheon.uf.edex.esb.camel.directvm
Import-Package: com.raytheon.uf.common.event,

View file

@ -9,7 +9,6 @@ Require-Bundle: com.google.guava;bundle-version="1.0.0",
com.raytheon.uf.common.status;bundle-version="1.12.1174",
com.raytheon.uf.edex.core;bundle-version="1.12.1174",
com.raytheon.uf.common.event;bundle-version="1.0.0",
org.apache.commons.logging;bundle-version="1.1.1",
com.raytheon.uf.common.time;bundle-version="1.12.1174",
com.raytheon.uf.common.serialization;bundle-version="1.12.1174",
com.raytheon.uf.edex.database;bundle-version="1.0.0",
@ -18,5 +17,6 @@ Require-Bundle: com.google.guava;bundle-version="1.0.0",
com.raytheon.uf.common.localization;bundle-version="1.12.1174",
com.raytheon.uf.common.serialization.comm;bundle-version="1.12.1174",
com.raytheon.uf.common.dataplugin;bundle-version="1.12.1174",
org.junit
org.junit,
org.slf4j;bundle-version="1.7.5"
Export-Package: com.raytheon.uf.edex.event

View file

@ -13,6 +13,6 @@ Import-Package: com.raytheon.edex.msg,
com.raytheon.uf.common.status,
com.raytheon.uf.edex.core,
com.raytheon.uf.edex.database.purge
Require-Bundle: org.apache.commons.logging,
org.apache.commons.collections,
org.apache.log4j
Require-Bundle: org.apache.commons.collections,
ch.qos.logback;bundle-version="1.0.13",
org.slf4j;bundle-version="1.7.5"

View file

@ -19,8 +19,10 @@
**/
package com.raytheon.uf.edex.log;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.slf4j.Marker;
import org.slf4j.MarkerFactory;
import com.raytheon.uf.common.status.AbstractHandlerFactory;
import com.raytheon.uf.common.status.IUFStatusHandler;
@ -36,6 +38,7 @@ import com.raytheon.uf.common.status.UFStatus.Priority;
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Oct 28, 2009 njensen Initial creation
* Jun 27, 2013 2142 njensen Use SLF4J instead of log4j
*
* </pre>
*
@ -44,7 +47,10 @@ import com.raytheon.uf.common.status.UFStatus.Priority;
*/
public class EdexLogHandler implements IUFStatusHandler {
private final Log clazzLogger;
private static final Marker FATAL = MarkerFactory.getMarker("FATAL");
private final Logger clazzLogger;
private final AbstractHandlerFactory factory;
@ -55,7 +61,7 @@ public class EdexLogHandler implements IUFStatusHandler {
private String source;
public EdexLogHandler(String clazz, String category, String source) {
this.clazzLogger = LogFactory.getLog(clazz);
this.clazzLogger = LoggerFactory.getLogger(clazz);
this.pluginId = clazz;
this.category = category;
this.source = source;
@ -64,7 +70,7 @@ public class EdexLogHandler implements IUFStatusHandler {
public EdexLogHandler(AbstractHandlerFactory factory, String pluginId,
String category) {
this.clazzLogger = LogFactory.getLog(pluginId);
this.clazzLogger = LoggerFactory.getLogger(pluginId);
this.pluginId = pluginId;
this.category = category;
this.factory = null;
@ -74,7 +80,7 @@ public class EdexLogHandler implements IUFStatusHandler {
public boolean isPriorityEnabled(Priority p) {
switch (p) {
case CRITICAL:
return clazzLogger.isFatalEnabled();
return true;
case SIGNIFICANT:
return clazzLogger.isErrorEnabled();
case PROBLEM:
@ -124,7 +130,7 @@ public class EdexLogHandler implements IUFStatusHandler {
switch (p) {
case CRITICAL:
clazzLogger.fatal(statusMsg, t);
clazzLogger.error(FATAL, statusMsg, t);
break;
case SIGNIFICANT:
clazzLogger.error(statusMsg, t);
@ -179,7 +185,7 @@ public class EdexLogHandler implements IUFStatusHandler {
switch (p) {
case CRITICAL:
clazzLogger.fatal(msg);
clazzLogger.error(FATAL, msg);
break;
case SIGNIFICANT:
clazzLogger.error(msg);
@ -225,7 +231,7 @@ public class EdexLogHandler implements IUFStatusHandler {
switch (p) {
case CRITICAL:
clazzLogger.fatal(msg, t);
clazzLogger.error(FATAL, msg, t);
break;
case SIGNIFICANT:
clazzLogger.error(msg, t);

View file

@ -11,10 +11,10 @@ Require-Bundle: com.raytheon.edex.common,
org.eclipse.ui,
org.eclipse.core.runtime,
org.apache.commons.lang,
org.apache.commons.logging,
com.raytheon.uf.common.localization,
com.raytheon.uf.common.dataplugin.level,
com.raytheon.uf.common.serialization.comm
com.raytheon.uf.common.serialization.comm,
org.slf4j;bundle-version="1.7.5"
Export-Package: com.raytheon.uf.edex.plugin.level.adapter,
com.raytheon.uf.edex.plugin.level.dao
Bundle-RequiredExecutionEnvironment: JavaSE-1.6

View file

@ -6,7 +6,6 @@ Bundle-Version: 1.12.1174.qualifier
Bundle-Vendor: RAYTHEON
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Require-Bundle: com.raytheon.edex.common;bundle-version="1.11.26",
org.apache.commons.logging;bundle-version="1.0.4",
org.apache.commons.lang;bundle-version="2.3.0",
com.raytheon.uf.common.status;bundle-version="1.12.1174",
javax.persistence;bundle-version="1.0.0"