You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@karaf.apache.org by Chandan Singh <ma...@gmail.com> on 2022/05/10 12:47:15 UTC

Logging for Prod environemt

Hi  Team ,

Need help on optimal configurations for logging in the prod environment
for Apache karaf 4.3.7

Regards
Chandan

Re: Logging for Prod environemt

Posted by Jean-Baptiste Onofré <jb...@nanthrax.net>.
Hi,

assuming you don't start Karaf with the wrapper (as the wrapper can
create wrapper.log, configured in wrapper.conf), you can change the
log configuration like this:

# Rolling file appender
log4j2.appender.rolling.type = RollingRandomAccessFile
log4j2.appender.rolling.name = RollingFile
log4j2.appender.rolling.fileName = ${karaf.log}/karaf.log
log4j2.appender.rolling.filePattern = ${karaf.log}/karaf.log.%i
# uncomment to not force a disk flush
#log4j2.appender.rolling.immediateFlush = false
log4j2.appender.rolling.append = true
log4j2.appender.rolling.layout.type = PatternLayout
log4j2.appender.rolling.layout.pattern = ${log4j2.pattern}
log4j2.appender.rolling.policies.type = Policies
log4j2.appender.rolling.policies.size.type = SizeBasedTriggeringPolicy
log4j2.appender.rolling.policies.size.size = 1MB
log4j2.appender.rolling.strategy.type = DefaultRolloverStrategy
log4j2.appender.rolling.strategy.max = 1

# Audit file appender
log4j2.appender.audit.type = RollingRandomAccessFile
log4j2.appender.audit.name = AuditRollingFile
log4j2.appender.audit.fileName = ${karaf.log}/security.log
log4j2.appender.audit.filePattern = ${karaf.log}/security-%i.log
log4j2.appender.audit.append = true
log4j2.appender.audit.layout.type = PatternLayout
log4j2.appender.audit.layout.pattern = %m%n
log4j2.appender.audit.policies.type = Policies
log4j2.appender.audit.policies.size.type = SizeBasedTriggeringPolicy
log4j2.appender.audit.policies.size.size = 1MB

With this configuration, as max, both audit.log and karaf.log will
take 2MB log files max.

Regards
JB

On Wed, May 11, 2022 at 5:41 AM Chandan Singh
<ma...@gmail.com> wrote:
>
> Hi JB ,
>
> We are using the default setting  as of now in  production  .  Please find the entries below .  And these log's are further indexed over splunk  , We are facing issues of high disk usage  , so just wanted to understand if we can tweak the karaf logging properties to reduce some volume , I understand the ultimate fix might be look at the individual bundles and see at the code level to stop unnecessary logging  .
>
>
>
>
>
> # Colors for log level rendering
> color.fatal = bright red
> color.error = bright red
> color.warn = bright yellow
> color.info = bright green
> color.debug = cyan
> color.trace = cyan
>
>
> # Common pattern layout for appenders
> log4j2.pattern = %d{ISO8601} | %-5p | %-16t | %-32c{1} | %X{bundle.id} - %X{bundle.name} - %X{bundle.version} | %m%n
> log4j2.out.pattern = \u001b[90m%d{HH:mm:ss\.SSS}\u001b[0m %highlight{%-5level}{FATAL=${color.fatal}, ERROR=${color.error}, WARN=${color.warn}, INFO=${color.info}, DEBUG=${color.debug}, TRACE=${color.trace}} \u001b[90m[%t]\u001b[0m %msg%n%throwable
>
> # Root logger
> log4j2.rootLogger.level = INFO
> # uncomment to use asynchronous loggers, which require mvn:com.lmax/disruptor/3.3.2 and mvn:org.ops4j.pax.logging/pax-logging-log4j2-extra/1.11.4 libraries
> #log4j2.rootLogger.type = asyncRoot
> #log4j2.rootLogger.includeLocation = false
> log4j2.rootLogger.appenderRef.RollingFile.ref = RollingFile
> log4j2.rootLogger.appenderRef.PaxOsgi.ref = PaxOsgi
> log4j2.rootLogger.appenderRef.Console.ref = Console
> log4j2.rootLogger.appenderRef.Console.filter.threshold.type = ThresholdFilter
> log4j2.rootLogger.appenderRef.Console.filter.threshold.level = ${karaf.log.console:-OFF}
> #log4j2.rootLogger.appenderRef.Sift.ref = Routing
>
> # Loggers configuration
>
> # SSHD logger
> log4j2.logger.sshd.name = org.apache.sshd
> log4j2.logger.sshd.level = INFO
>
> # Spifly logger
> log4j2.logger.spifly.name = org.apache.aries.spifly
> log4j2.logger.spifly.level = WARN
>
> # Security audit logger
> log4j2.logger.audit.name = audit
> log4j2.logger.audit.level = TRACE
> log4j2.logger.audit.additivity = false
> log4j2.logger.audit.appenderRef.AuditRollingFile.ref = AuditRollingFile
>
> # Appenders configuration
>
> # Console appender not used by default (see log4j2.rootLogger.appenderRefs)
> log4j2.appender.console.type = Console
> log4j2.appender.console.name = Console
> log4j2.appender.console.layout.type = PatternLayout
> log4j2.appender.console.layout.pattern = ${log4j2.out.pattern}
>
> # Rolling file appender
> log4j2.appender.rolling.type = RollingRandomAccessFile
> log4j2.appender.rolling.name = RollingFile
> log4j2.appender.rolling.fileName = ${karaf.log}/karaf.log
> log4j2.appender.rolling.filePattern = ${karaf.log}/karaf.log.%i
> # uncomment to not force a disk flush
> #log4j2.appender.rolling.immediateFlush = false
> log4j2.appender.rolling.append = true
> log4j2.appender.rolling.layout.type = PatternLayout
> log4j2.appender.rolling.layout.pattern = ${log4j2.pattern}
> log4j2.appender.rolling.policies.type = Policies
> log4j2.appender.rolling.policies.size.type = SizeBasedTriggeringPolicy
> log4j2.appender.rolling.policies.size.size = 16MB
> log4j2.appender.rolling.strategy.type = DefaultRolloverStrategy
> log4j2.appender.rolling.strategy.max = 5
>
> # Audit file appender
> log4j2.appender.audit.type = RollingRandomAccessFile
> log4j2.appender.audit.name = AuditRollingFile
> log4j2.appender.audit.fileName = ${karaf.log}/security.log
> log4j2.appender.audit.filePattern = ${karaf.log}/security-%i.log
> log4j2.appender.audit.append = true
> log4j2.appender.audit.layout.type = PatternLayout
> log4j2.appender.audit.layout.pattern = %m%n
> log4j2.appender.audit.policies.type = Policies
> log4j2.appender.audit.policies.size.type = SizeBasedTriggeringPolicy
> log4j2.appender.audit.policies.size.size = 8MB
>
> # OSGi appender
> log4j2.appender.osgi.type = PaxOsgi
> log4j2.appender.osgi.name = PaxOsgi
> log4j2.appender.osgi.filter = *
>
> # help with identification of maven-related problems with pax-url-aether
> #log4j2.logger.aether.name = shaded.org.eclipse.aether
> #log4j2.logger.aether.level = TRACE
> #log4j2.logger.http-headers.name = shaded.org.apache.http.headers
> #log4j2.logger.http-headers.level = DEBUG
> #log4j2.logger.maven.name = org.ops4j.pax.url.mvn
> #log4j2.logger.maven.level = TRACE
>
> # Sift - MDC routing
> #log4j2.appender.routing.type = Routing
> #log4j2.appender.routing.name = Routing
> #log4j2.appender.routing.routes.type = Routes
> #log4j2.appender.routing.routes.pattern = \$\$\\\{ctx:bundle.name\}
> #log4j2.appender.routing.routes.bundle.type = Route
> #log4j2.appender.routing.routes.bundle.appender.type = RollingRandomAccessFile
> #log4j2.appender.routing.routes.bundle.appender.name = Bundle-\$\\\{ctx:bundle.name\}
> #log4j2.appender.routing.routes.bundle.appender.fileName = ${karaf.log}/bundle-\$\\\{ctx:bundle.name\}.log
> #log4j2.appender.routing.routes.bundle.appender.filePattern = ${karaf.log}/bundle-\$\\\{ctx:bundle.name\}.log.%i
> #log4j2.appender.routing.routes.bundle.appender.append = true
> #log4j2.appender.routing.routes.bundle.appender.layout.type = PatternLayout
> #log4j2.appender.routing.routes.bundle.appender.layout.pattern = ${log4j2.pattern}
> #log4j2.appender.routing.routes.bundle.appender.policies.type = Policies
> #log4j2.appender.routing.routes.bundle.appender.policies.size.type = SizeBasedTriggeringPolicy
> #log4j2.appender.routing.routes.bundle.appender.policies.size.size = 8MB
>
>
>
>
>
>
> Regards
> Chandan
>
>
>
>
> On Tue, May 10, 2022 at 9:15 PM Jean-Baptiste Onofré <jb...@nanthrax.net> wrote:
>>
>> Hi Chandan,
>>
>> The default configuration is generic enough to fit most of the requirements.
>>
>> What are you looking for exactly ?
>>
>> Regards
>> JB
>>
>> On Tue, May 10, 2022 at 2:47 PM Chandan Singh
>> <ma...@gmail.com> wrote:
>> >
>> > Hi  Team ,
>> >
>> > Need help on optimal configurations for logging in the prod environment  for Apache karaf 4.3.7
>> >
>> > Regards
>> > Chandan

Re: Logging for Prod environemt

Posted by Chandan Singh <ma...@gmail.com>.
Hi JB ,

We are using the default setting  as of now in  production  .  Please find
the entries below .  And these log's are further indexed over splunk  , We
are facing issues of high disk usage  , so just wanted to understand if we
can tweak the karaf logging properties to reduce some volume , I understand
the ultimate fix might be look at the individual bundles and see at the
code level to stop unnecessary logging  .





# Colors for log level rendering
color.fatal = bright red
color.error = bright red
color.warn = bright yellow
color.info = bright green
color.debug = cyan
color.trace = cyan


# Common pattern layout for appenders
log4j2.pattern = %d{ISO8601} | %-5p | %-16t | %-32c{1} | %X{bundle.id} - %X{
bundle.name} - %X{bundle.version} | %m%n
log4j2.out.pattern = \u001b[90m%d{HH:mm:ss\.SSS}\u001b[0m
%highlight{%-5level}{FATAL=${color.fatal}, ERROR=${color.error},
WARN=${color.warn}, INFO=${color.info}, DEBUG=${color.debug},
TRACE=${color.trace}} \u001b[90m[%t]\u001b[0m %msg%n%throwable

# Root logger
log4j2.rootLogger.level = INFO
# uncomment to use asynchronous loggers, which require
mvn:com.lmax/disruptor/3.3.2 and
mvn:org.ops4j.pax.logging/pax-logging-log4j2-extra/1.11.4 libraries
#log4j2.rootLogger.type = asyncRoot
#log4j2.rootLogger.includeLocation = false
log4j2.rootLogger.appenderRef.RollingFile.ref = RollingFile
log4j2.rootLogger.appenderRef.PaxOsgi.ref = PaxOsgi
log4j2.rootLogger.appenderRef.Console.ref = Console
log4j2.rootLogger.appenderRef.Console.filter.threshold.type =
ThresholdFilter
log4j2.rootLogger.appenderRef.Console.filter.threshold.level =
${karaf.log.console:-OFF}
#log4j2.rootLogger.appenderRef.Sift.ref = Routing

# Loggers configuration

# SSHD logger
log4j2.logger.sshd.name = org.apache.sshd
log4j2.logger.sshd.level = INFO

# Spifly logger
log4j2.logger.spifly.name = org.apache.aries.spifly
log4j2.logger.spifly.level = WARN

# Security audit logger
log4j2.logger.audit.name = audit
log4j2.logger.audit.level = TRACE
log4j2.logger.audit.additivity = false
log4j2.logger.audit.appenderRef.AuditRollingFile.ref = AuditRollingFile

# Appenders configuration

# Console appender not used by default (see log4j2.rootLogger.appenderRefs)
log4j2.appender.console.type = Console
log4j2.appender.console.name = Console
log4j2.appender.console.layout.type = PatternLayout
log4j2.appender.console.layout.pattern = ${log4j2.out.pattern}

# Rolling file appender
log4j2.appender.rolling.type = RollingRandomAccessFile
log4j2.appender.rolling.name = RollingFile
log4j2.appender.rolling.fileName = ${karaf.log}/karaf.log
log4j2.appender.rolling.filePattern = ${karaf.log}/karaf.log.%i
# uncomment to not force a disk flush
#log4j2.appender.rolling.immediateFlush = false
log4j2.appender.rolling.append = true
log4j2.appender.rolling.layout.type = PatternLayout
log4j2.appender.rolling.layout.pattern = ${log4j2.pattern}
log4j2.appender.rolling.policies.type = Policies
log4j2.appender.rolling.policies.size.type = SizeBasedTriggeringPolicy
log4j2.appender.rolling.policies.size.size = 16MB
log4j2.appender.rolling.strategy.type = DefaultRolloverStrategy
log4j2.appender.rolling.strategy.max = 5

# Audit file appender
log4j2.appender.audit.type = RollingRandomAccessFile
log4j2.appender.audit.name = AuditRollingFile
log4j2.appender.audit.fileName = ${karaf.log}/security.log
log4j2.appender.audit.filePattern = ${karaf.log}/security-%i.log
log4j2.appender.audit.append = true
log4j2.appender.audit.layout.type = PatternLayout
log4j2.appender.audit.layout.pattern = %m%n
log4j2.appender.audit.policies.type = Policies
log4j2.appender.audit.policies.size.type = SizeBasedTriggeringPolicy
log4j2.appender.audit.policies.size.size = 8MB

# OSGi appender
log4j2.appender.osgi.type = PaxOsgi
log4j2.appender.osgi.name = PaxOsgi
log4j2.appender.osgi.filter = *

# help with identification of maven-related problems with pax-url-aether
#log4j2.logger.aether.name = shaded.org.eclipse.aether
#log4j2.logger.aether.level = TRACE
#log4j2.logger.http-headers.name = shaded.org.apache.http.headers
#log4j2.logger.http-headers.level = DEBUG
#log4j2.logger.maven.name = org.ops4j.pax.url.mvn
#log4j2.logger.maven.level = TRACE

# Sift - MDC routing
#log4j2.appender.routing.type = Routing
#log4j2.appender.routing.name = Routing
#log4j2.appender.routing.routes.type = Routes
#log4j2.appender.routing.routes.pattern = \$\$\\\{ctx:bundle.name\}
#log4j2.appender.routing.routes.bundle.type = Route
#log4j2.appender.routing.routes.bundle.appender.type =
RollingRandomAccessFile
#log4j2.appender.routing.routes.bundle.appender.name = Bundle-\$\\\{ctx:
bundle.name\}
#log4j2.appender.routing.routes.bundle.appender.fileName =
${karaf.log}/bundle-\$\\\{ctx:bundle.name\}.log
#log4j2.appender.routing.routes.bundle.appender.filePattern =
${karaf.log}/bundle-\$\\\{ctx:bundle.name\}.log.%i
#log4j2.appender.routing.routes.bundle.appender.append = true
#log4j2.appender.routing.routes.bundle.appender.layout.type = PatternLayout
#log4j2.appender.routing.routes.bundle.appender.layout.pattern =
${log4j2.pattern}
#log4j2.appender.routing.routes.bundle.appender.policies.type = Policies
#log4j2.appender.routing.routes.bundle.appender.policies.size.type =
SizeBasedTriggeringPolicy
#log4j2.appender.routing.routes.bundle.appender.policies.size.size = 8MB






Regards
Chandan




On Tue, May 10, 2022 at 9:15 PM Jean-Baptiste Onofré <jb...@nanthrax.net>
wrote:

> Hi Chandan,
>
> The default configuration is generic enough to fit most of the
> requirements.
>
> What are you looking for exactly ?
>
> Regards
> JB
>
> On Tue, May 10, 2022 at 2:47 PM Chandan Singh
> <ma...@gmail.com> wrote:
> >
> > Hi  Team ,
> >
> > Need help on optimal configurations for logging in the prod environment
> for Apache karaf 4.3.7
> >
> > Regards
> > Chandan
>

Re: Logging for Prod environemt

Posted by Jean-Baptiste Onofré <jb...@nanthrax.net>.
Hi Chandan,

The default configuration is generic enough to fit most of the requirements.

What are you looking for exactly ?

Regards
JB

On Tue, May 10, 2022 at 2:47 PM Chandan Singh
<ma...@gmail.com> wrote:
>
> Hi  Team ,
>
> Need help on optimal configurations for logging in the prod environment  for Apache karaf 4.3.7
>
> Regards
> Chandan