gpt4 book ai didi

java - Android 中的 LOG4J

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:25:54 24 4
gpt4 key购买 nike

我有一个包含很多文件的 Java 项目,它正在使用 LOG4J。现在我正在尝试将其移植到 Android 平台。是否可以通过 LOG4J 函数调用按原样重用代码?

目前的理解:

  1. 属性配置不起作用(bean 依赖)
  2. 我尝试使用 LOG4J for Android 和 SL4J Lib。没有成功。

工作。但是没用

org.apache.log4j.Logger root = org.apache.log4j.Logger.getRootLogger();
final SocketAppender appender = new SocketAppender("192.168.123.123", 3333);
root.addAppender(appender);

// SLF4J - Not working
org.slf4j.Logger logger;
logger = LoggerFactory.getLogger(MyClass.class);

// LOG4J for Android - Not working
ConfigureLog4J.configure();
logger = Logger.getLogger( MyClass.class );

我错过了什么吗?指向任何工作示例的指针?

最佳答案

通过使用 android-logging-log4j.jar 解决.

示例代码如下:

public class ALogger {
public static org.apache.log4j.Logger getLogger(Class clazz) {
final LogConfigurator logConfigurator = new LogConfigurator();
logConfigurator.setFileName(Environment.getExternalStorageDirectory().toString() + File.separator + "log/file.log");
logConfigurator.setRootLevel(Level.ALL);
logConfigurator.setLevel("org.apache", Level.ALL);
logConfigurator.setUseFileAppender(true);
logConfigurator.setFilePattern("%d %-5p [%c{2}]-[%L] %m%n");
logConfigurator.setMaxFileSize(1024 * 1024 * 5);
logConfigurator.setImmediateFlush(true);
logConfigurator.configure();
Logger log = Logger.getLogger(clazz);
return log;
}
}

在您的代码中,替换以下行:

PropertyConfigurator.configure(MY_PROP_FILE);
logger = Logger.getLogger( MyClaZZ.class );

与:

logger = ALogger.getLogger(MyClazz.class);

关于java - Android 中的 LOG4J,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21307968/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com