Tetiana f78b9f0b9b BAEL-6754 Parameterized Logging with Slf4j (#14447)
- updated logback-classic version
- updated logback.xml to have only one appender for new classes
- added sample parameterized logging and fluent logging
2023-07-23 19:16:50 +02:00

72 lines
3.0 KiB
XML

<configuration>
<appender name="map" class="com.baeldung.logback.MapAppender">
<prefix>test</prefix>
</appender>
<appender name="out" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg %kvp%n</pattern>
</encoder>
</appender>
<appender name="emailAppender" class="ch.qos.logback.classic.net.SMTPAppender">
<smtpHost>OUR-SMTP-HOST-ADDRESS</smtpHost>
<!-- one or more recipients are possible -->
<to>EMAIL-RECIPIENT-1</to>
<to>EMAIL-RECIPIENT-2</to>
<from>SENDER-EMAIL-ADDRESS</from>
<subject>BAELDUNG: %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>
<appender name="emailAppenderCustomBufferSize" class="ch.qos.logback.classic.net.SMTPAppender">
<smtpHost>OUR-SMTP-HOST-ADDRESS</smtpHost>
<to>EMAIL-RECIPIENT</to>
<from>SENDER-EMAIL-ADDRESS</from>
<subject>BAELDUNG: %logger{20} - %msg</subject>
<layout class="ch.qos.logback.classic.html.HTMLLayout"/>
<cyclicBufferTracker class="ch.qos.logback.core.spi.CyclicBufferTracker">
<!-- only 5 log entries on email -->
<bufferSize>5</bufferSize>
</cyclicBufferTracker>
</appender>
<appender name="emailAppenderGmail" class="ch.qos.logback.classic.net.SMTPAppender">
<smtpHost>smtp.gmail.com</smtpHost>
<smtpPort>587</smtpPort>
<STARTTLS>true</STARTTLS>
<asynchronousSending>false</asynchronousSending>
<username>SENDER-EMAIL@gmail.com</username>
<password>GMAIL-ACCT-PASSWORD</password>
<to>EMAIL-RECIPIENT</to>
<from>SENDER-EMAIL@gmail.com</from>
<subject>BAELDUNG: %logger{20} - %msg</subject>
<layout class="ch.qos.logback.classic.html.HTMLLayout"/>
</appender>
<appender name="mask" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
<layout class="com.baeldung.logback.MaskingPatternLayout">
<maskPattern>\"SSN\"\s*:\s*\"(.*?)\"</maskPattern> <!-- SSN JSON pattern -->
<maskPattern>\"address\"\s*:\s*\"(.*?)\"</maskPattern> <!-- Address JSON pattern -->
<maskPattern>(\d+\.\d+\.\d+\.\d+)</maskPattern> <!-- Ip address IPv4 pattern -->
<maskPattern>(\w+@\w+\.\w+)</maskPattern> <!-- Email pattern -->
<pattern>%-5p [%d{ISO8601,UTC}] [%thread] %c: %m%n%rootException</pattern>
</layout>
</encoder>
</appender>
<root level="info">
<appender-ref ref="map"/>
<appender-ref ref="out"/>
<appender-ref ref="emailAppender"/>
<appender-ref ref="mask" />
</root>
<logger name="com.baeldung.parameterized.logging" additivity="false" level="INFO">
<appender-ref ref="out"/>
</logger>
</configuration>