我是 android 开发新手。我想将日志写入 SD 卡中的一个文件。我如何使用 Log4j 来做到这一点。实现 Log4j 的所有步骤是什么。我读了很多文章。但没有一个描述如何配置和任何人都可以用简单的语言解释一下如何在 android 中执行此操作。
你应该看看logback http://tony19.github.com/logback-android/(下一代 log4j)。使用FileAppender http://logback.qos.ch/manual/appenders.html#FileAppender or RollingFileAppender http://logback.qos.ch/manual/appenders.html#RollingFileAppender.
指示:
-
Add slf4j-api-1.6.6.jar
and logback-android-1.0.6-2.jar
到你的类路径。
-
创建文件assets/logback.xml
在您的项目中(或使用AndroidManifest.xml
...see example http://tony19.github.com/logback-android/),包含以下配置:
<configuration>
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>/sdcard/testFile.log</file>
<append>true</append>
<encoder>
<pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern>
</encoder>
</appender>
<root level="DEBUG">
<appender-ref ref="FILE" />
</root>
</configuration>
注意:由于指定的路径位于 SD 上,因此请确保使用WRITE_EXTERNAL_STORAGE http://developer.android.com/reference/android/Manifest.permission.html#WRITE_EXTERNAL_STORAGE允许。您可以改为指定您已具有写入权限的其他路径。
您的 Java 代码(包含 SLF4J 日志记录调用)现在会记录等于或高于DEBUG
水平到/sdcard/testFile.log
.
Java 示例:
package com.example;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.example.R;
import android.app.Activity;
import android.os.Bundle;
public class HelloAndroidActivity extends Activity {
static private final Logger LOG =
LoggerFactory.getLogger(HelloAndroidActivity.class);
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//
// Based on the configuration above, these log statements
// are written to /sdcard/testFile.log
//
LOG.info("Hello Android!");
LOG.debug("reply: {}", Example.hello());
}
}
class Example {
static private final Logger LOG =
LoggerFactory.getLogger(Example.class);
static public String hello() {
LOG.trace("entered hello()");
return "Hi there!";
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)