An example of running a Microservice Route using external Log4j configuration - Cloud - 7.3

Talend Studio User Guide

Version
Cloud
7.3
Language
English
Product
Talend Big Data
Talend Big Data Platform
Talend Cloud
Talend Data Fabric
Talend Data Integration
Talend Data Management Platform
Talend Data Services Platform
Talend ESB
Talend MDM Platform
Talend Real-Time Big Data Platform
Module
Talend Studio
Content
Design and Development
Last publication date
2024-02-13
Available in...

Cloud API Services Platform

Cloud Data Fabric

Data Fabric

Data Services Platform

ESB

MDM Platform

Real-Time Big Data Platform

This section will show you an example of how to run a Microservice Route using external Log4j configuration.

The Microservice is built from a simple Route containing a cTimer and cLog component.

The cTimer component will trigger the message exchange five times.

The cLog component will log the message exchanges. The logging level is set to WARN, which is the default configuration of the Studio.

When running the Route in the Studio, the following result is shown in the execution console.

After building the Route to the Microservice .jar file, you can run it in a console window:

  • To run the Microservice with the default configuration, use the following command:

    java -jar demo_0.1.jar

    The following log messages are shown, which is the same as the execution result in the Studio.

  • To run the Microservice with a custom Log4j configuration, you can use the spring.config.additional-location property to call the customized log4j.xml file in an external configuration folder. A sample Log4j configuration which is located in the config folder in the directory of the Microservice jar is shown below to provide a tesb.log file when the Microservice is started.

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
    <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
        <appender name="stdout" class="org.apache.log4j.ConsoleAppender">
            <layout class="org.apache.log4j.PatternLayout">
                <param name="ConversionPattern" value="%d | %-5.5p | %-16.16t | %-32.32C %4L | %m%n"/>
            </layout>
        </appender>
        <appender name="rollingFile" class="org.apache.log4j.RollingFileAppender">
            <param name="file" value="tesb.log"/>
            <param name="MaxFileSize" value="1024KB"/>
            <param name="MaxBackupIndex" value="10"/>
            <layout class="org.apache.log4j.PatternLayout">
                <param name="ConversionPattern" value="%d | %-5.5p | %-16.16t | %-32.32C %4L | %m%n"/>
            </layout>
        </appender>
        <root>
            <priority value="info"/>
            <appender-ref ref="stdout"/>
            <appender-ref ref="rollingFile"/>
        </root>
    </log4j:configuration>

    To use this configuration, run the following command:

    java -jar demo_0.1.jar --spring.config.additional-location=./config

    Alternatively, you can use the logging.config property to call the Log4j configuration file:

    java -jar demo_0.1.jar --logging.config=./config/log4j.xml

    The following log messages are shown, and written to the tesb.log file in the directory where the Microservice jar file is located.

    The tesb.log file is created:

    The log messages are written to the tesb.log file: