Everyone, no matter what I do, I cannot STOP CXF from logging to the
console/stdout.
This is eating up the /app volume at an incredible base instead of sending that
to the /log volume.
In the org.apache.cxf.logger file I have:
org.apache.cxf.common.logging.Slf4jLogger (the log4j version had even more data
sent to the console).
I need the in/out XML in a separate file from the other CXF messages. So I have
these appenders set up:
<RollingFile
name="CXF_LOGGER"
fileName="${logBaseDir}/${hostName}_cxf.log"
filePattern="${logBaseDir}/rotated/${hostName}_cxf.%d{yyyy-MM-dd}.log.gz"
>
<PatternLayout pattern="${patternStr}" />
<Policies>
<OnStartupTriggeringPolicy />
<SizeBasedTriggeringPolicy size="${maxFileSize}" />
<TimeBasedTriggeringPolicy />
</Policies>
<DefaultRolloverStrategy max="${maxDays}" />
</RollingFile>
<RollingFile
name="CXF_ERROR_LOGGER"
fileName="${logBaseDir}/${hostName}_CXF_Errors.log"
filePattern="${logBaseDir}/rotated/${hostName}_CXF_Errors.%d{yyyy-MM-dd}-%i.log.gz"
>
<PatternLayout pattern="${patternStr}" />
<Policies>
<OnStartupTriggeringPolicy />
<SizeBasedTriggeringPolicy size="${maxFileSize}" />
<TimeBasedTriggeringPolicy />
</Policies>
<DefaultRolloverStrategy max="${maxDays}" />
</RollingFile>
And these loggers (I've tried putting the filters in the appender too.):
<Logger
name="org.apache.cxf.services"
level="INFO" additivity="false"
>
<AppenderRef ref="CXF_LOGGER" />
<Filters>
<ThresholdFilter level="INFO" onMatch="ACCEPT"
onMismatch="DENY" />
</Filters>
</Logger>
<Logger
name="org.apache.cxf"
level="ERROR" additivity="false"
>
<AppenderRef ref="CXF_ERROR_LOGGER" />
<Filters>
<ThresholdFilter level="ERROR" onMatch="ACCEPT" />
<ThresholdFilter level="DEBUG" onMatch="ACCEPT" />
<ThresholdFilter level="WARN" onMatch="ACCEPT" />
</Filters>
</Logger>
And yet, during application deployment, when Spring starts up the cxf bus, even
the messages of setting up the end points show on the console.
Then of course all the traffic.
HOW DO I GET CXF TO BEHAVE?