我想使用log4j2从Android应用程序生成logcat输出。 似乎6个标准的log4j2日志级别(致命,错误,警告,信息,调试,跟踪)与logcat的6个日志级别(wtf,e,w,i,d,v)匹配良好。 log4j记录器名称(通常是类名)应该用于logcat标记。
This小型Android项目使用mvn clean install
进行编译(安装Android sdk等后)。
在其主要活动(Mpjoe.java)中,它包含以下内容:
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
// ...
public class Mpjoe extends Activity {
static final Logger logger = LogManager.getLogger();
// ...
@Override public void onCreate(Bundle savedInstanceState) {
// ...
logger.fatal("=== Initialized ===");
}
}
如上所述[{3}},我已将所需的依赖项添加到pom.xml
:
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.1</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.1</version>
</dependency>
为了配置没有配置文件的log4j2,我使用here帮助程序类(使用与提到的this相同的方式)。
它编译时没有错误,但在运行时我得到了消息:
ERROR StatusLogger Log4j2 could not find a logging implementation. Please add log4j-core to the classpath. Using SimpleLogger to log to the console...
检查系统属性java.class.path
时,它返回"."
,但这似乎是正常情况(如http://developer.android.com上所述)。
有任何建议如何解决?