Configuring logging framework
Default configuration
tia® Content Server core default logging targets are:
container-deployment:
SYSTEM_OUT
war-deployment:
core-of-tia.log
file in<web application server>/WEB-INF/<web context>/logs
directory.
When using container-deployment, it can be required to write logging information to SYSTEM_OUT
. There it may be read from monitoring tools.
Hint: Logs written to stdout
or stderr
may also be viewed by docker
command (if using another container runtime, please refer to its documentation):
docker container logs <container name or id>
Using this command with option -f
allows to watch log file tail continuously.
Using war-deployment, log rotation is activated by default:
tia® Content Server core writes the log file
core-of-tia.log
into the logs sub directory of the web context directory.At 0:00am and in case the log file exceeds 1GB, it is gz-compressed and renamed to
core-of-tia-<n>.log.gz
.Up to 10 compressed log files will be kept before removal.
Custom configuration
When requiring custom configuration file, create the logging configuration file and point tia® Content Server core to it using the logging.config
parameter.
Control the log level overall by parameter logging.level.root
, respective at package granularity by parameter logging.level.<package>
.
Parameter | Description | Supported Values | Required | Default value |
| Log Level for all logging. If log level for package is configured, package configuration will overrule. Recommended for Production is WARN or ERROR. |
| no |
|
Example:
| Definition of the log level for the package.
|
| no |
|
| Specifies a location for the configuration file of the logging framework. Hint: When using container-deployment volume mapping maybe required. | Path and filename | no |
|
For more information how to apply these parameters, please read Application wide settings.
Note: For the configuration file itself applies the syntax of the logging framework, which is SLFJ4-compliant (external link: https://www.slf4j.org/manual.html).
tia® Content Server core before 3.0.0 uses Log4j2 framework (external link:https://logging.apache.org/log4j/2.x/).
Starting with 3.0.0 logback framework (external link: Logback Home) is used.
Log rotation
In production systems, log files can grow large over time and consume disc space as well. Also handling of large log files for issue analysis is getting more difficult. Log rotation refers to an automatic set up to periodically or on trigger event (like log file exceeds a specified size) copy log files aside and keep only a certain number of copies.
Log rotation can be configured by an appender in the logging configuration file. The logging framework provides the RollingFileAppender (external Log4J link: https://logging.apache.org/log4j/2.x/manual/appenders.html#rollingfileappender, external Logback link: https://logback.qos.ch/manual/appenders.html#RollingFileAppender).
Email notification
The logging in tia ContentServer allows to send mails for errors. This requires an SMTP Server that will forward the mail to the recipient.
You need an additional appender for this (see also https://logback.qos.ch/manual/appenders.html#SMTPAppender) :
First create a logging.xml with an email appender:
<configuration>
<property name="baseDir" value="logs" />
<property name="fileName" value="core-of-tia" />
<!--Activate this to log also in tomcat std out-->
<appender name="CONSOLE"
class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%32.32X{traceId}/%16.16X{spanId}] [%.-1p] [%20.20thread] %70.70(%30.30logger{10}.%M \(%4L\) ): %m%n</pattern>
</encoder>
</appender>
<appender name="emailAppender" class="ch.qos.logback.classic.net.SMTPAppender">
<smtpHost><yourSMTPHost></smtpHost>
<smtpPort><yourSMTPPort></smtpPort>
<!-- one or more recipients are possible -->
<to>test@test.de</to>
<from>errorlog@test.de</from>
<subject>Error occured: %logger{20} - %msg</subject>
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{35} - %msg%n</pattern>
</layout>
</appender>
<root level="INFO">
<appender-ref ref="emailAppender" />
<appender-ref ref="CONSOLE" />
</root>
</configuration>
configure tia ContentServer to use logging.xml with the parameter:
logging.config