android log4j
下载log4j的jar包
选择下载zip包即可,解压后选用里面的2个文件
https://www.apache.org/dyn/closer.lua/logging/log4j/2.3.2/apache-log4j-2.3.2-bin.zip
我本次下载了最后的版本和倒数第2个版本,编译调试运行均报错,直到使用了这个较旧的版本才成功编译通过。
实现log4j Android接入的整个流程:
步骤 描述
步骤1 导入log4j库
步骤2 创建log4j配置文件
步骤3 在Android项目中配置log4j
步骤4 使用log4j输出日志
接下来,我们将逐步介绍每个步骤的具体操作。
步骤1:导入log4j库
首先,我们需要将log4j库导入到Android项目中。可以通过以下步骤完成:
下载log4j库的jar文件,可以从Apache官网
将下载的log4j库的jar文件拷贝到Android项目的libs目录下。
在项目的build.gradle文件中添加log4j库的依赖:
这一步会自动在build.gradle添加代码
implementation files('libs\\log4j-core-2.3.2.jar') implementation files('libs\\log4j-api-2.3.2.jar')
步骤2:创建log4j配置文件
接下来,我们需要创建log4j的配置文件。该配置文件用于指定日志的输出方式、格式等。
在Android项目的assets目录下创建一个名为log4j2.xml的文件。
在log4j2.xml文件中添加以下内容:
1 <?xml version="1.0" encoding="UTF-8"?> 2 <Configuration status="debug" name="MyApp"> 3 <Appenders> 4 <Logcat name="LogcatAppender" target="SYSTEM_OUT"> 5 <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/> 6 </Logcat> 7 </Appenders> 8 9 <Loggers> 10 <Root level="debug"> 11 <AppenderRef ref="LogcatAppender"/> 12 </Root> 13 </Loggers> 14 </Configuration>
配置文件中使用了一个名为LogcatAppender的Appender来将日志输出到Android的Logcat中,并使用了一个简单的日志格式。
步骤3:在Android项目中配置log4j
接下来,我们需要在Android项目中进行log4j的配置。
1、在Android项目的AndroidManifest.xml文件中添加以下权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
2、在Application类中创建一个Logger对象并进行初始化:
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
public class MainActivity extends AppCompatActivity {
private static final Logger logger = LogManager.getLogger(MyApplication.class);
@Override
public void onCreate() {
super.onCreate();
logger.debug("Application onCreate");
// 初始化log4j配置
configureLog4j();
}
private void configureLog4j() {
// 设置log4j配置文件的路径
final File logConfigFile = new File(getFilesDir(), "log4j2.xml");
System.setProperty("log4j.configurationFile", logConfigFile.getAbsolutePath());
}
}
请确保你已经创建了一个继承自Application的类,并且在AndroidManifest.xml文件的application元素中使用该类。
步骤4:使用log4j输出日志
现在,你可以在你的Android代码中使用log4j输出日志了。
在需要输出日志的类中,创建一个Logger对象:
/**
* log4j日志测试
* */
public void logTest() {
logger.debug("This is a debug message.");
logger.info("This is an info message.");
logger.warn("This is a warning message.");
logger.error("This is an error message.");
}