SDK Logging
Updated at:2025-11-03
SDK logging
The BOS Java SDK package uses logback as the default SLF4J implementation. If users don't have their own implementation, logback can be used directly. Other options like log4j may also be used as alternatives.
Default logging
To utilize the default logback, include a logback.xml configuration file in the classpath. If this file is missing, the log level defaults to DEBUG.
Plain Text
1<configuration>
2 <property name="LOG_HOME" value="./log/"/>
3 <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
4 <!-- encoders are assigned the type
5 ch.qos.logback.classic.encoder.PatternLayoutEncoder by default -->
6 <encoder>
7 <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
8 </encoder>
9 </appender>
10
11 <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
12 <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
13 <FileNamePattern>${LOG_HOME}/BosUnitTest.%d{yyyy-MM-dd}.log</FileNamePattern>
14 <MaxHistory>30</MaxHistory>
15 </rollingPolicy>
16 <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
17 <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
18 </encoder>
19 <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
20 <MaxFileSize>10MB</MaxFileSize>
21 </triggeringPolicy>
22 </appender>
23
24 <root level="info">
25 <appender-ref ref="STDOUT"/>
26 <appender-ref ref="FILE"/>
27 </root>
28</configuration>
Custom logging modules
For projects already equipped with a logging implementation, logback can be excluded via Maven (pom.xml).
Plain Text
1<?xml version="1.0" encoding="utf-8"?>
2
3<dependency>
4 <groupId>com.baidubce</groupId>
5 <artifactId>bce-java-sdk</artifactId>
6 <version>${bce.sdk.version}</version>
7 <exclusions>
8 <exclusion>
9 <groupId>ch.qos.logback</groupId>
10 <artifactId>logback-classic</artifactId>
11 </exclusion>
12 <exclusion>
13 <groupId>ch.qos.logback</groupId>
14 <artifactId>logback-core</artifactId>
15 </exclusion>
16 <exclusion>
17 <groupId>org.slf4j</groupId>
18 <artifactId>jcl-over-slf4j</artifactId>
19 </exclusion>
20 </exclusions>
21</dependency>
