Android中使用log4j
来源:互联网 发布:淘宝网男夏装 编辑:程序博客网 时间:2024/05/19 13:44
From:http://jackyrong.iteye.com/blog/1694699
http://blog.csdn.net/djun100/article/details/18457257
在android中,实现输出log内容到sd卡中的文件里面,做法是:
还是相对来说,log4j,算是好用。
1.下载android的log4j的库(的封装)
去:http://code.google.com/p/android-logging-log4j/
下载对应的android-logging-log4j-1.0.3.jar,加到项目中。
2.再去下载所依赖的apache的log4j库
去:http://logging.apache.org/log4j/1.2/download.html
下载1.2系列版本的:log4j-1.2.17.zip
解压得到log4j-1.2.17.jar加到项目中。
3.写测试代码:
import
de.mindpipe.android.logging.log4j.LogConfigurator;
import
java.io.File;
import
android.os.Environment;
import
org.apache.log4j.Level;
import
org.apache.log4j.Logger;
public
class
BaseActivity
extends
Activity {
private
Logger gLogger;
public
void
configLog()
{
final
LogConfigurator logConfigurator =
new
LogConfigurator();
logConfigurator.setFileName(Environment.getExternalStorageDirectory() + File.separator +
"crifanli_log4j.log"
);
// Set the root log level
logConfigurator.setRootLevel(Level.DEBUG);
// Set log level of a specific logger
logConfigurator.setLevel(
"org.apache"
, Level.ERROR);
logConfigurator.configure();
//gLogger = Logger.getLogger(this.getClass());
gLogger = Logger.getLogger(
"CrifanLiLog4jTest"
);
}
@Override
protected
void
onCreate(Bundle savedInstanceState) {
configLog();
gLogger.debug(
"test android log to file in sd card using log4j"
);
即可实现:
(1)可以在/mnt/sdcard中生成对应的crifanli_log4j.log文件
(2)log输出的内容中,是DEBUG,且对应的是自己的字符串标识符CrifanLiLog4jTest
因此,可以另外多下载一个叫android-logging-log4j的项目,地址在:
http://code.google.com/p/android-logging-log4j/downloads/list,注意,原本的log4j还是需要的。
在AndroidManifest.xml中,增加如下设置:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
然后在程序中如下使用:
- package com.android.myapp;
- .
- import java.io.File;
- import org.apache.log4j.Level;
- import org.apache.log4j.Logger;
- .
- import android.app.Application;
- import android.os.Environment;
- import de.mindpipe.android.logging.log4j.LogConfigurator;
- .
- public class MyApplication extends Application {
- @Override
- public void onCreate() {
- super.onCreate();
- LogConfigurator logConfigurator = new LogConfigurator();
- logConfigurator.setFileName(Environment.getExternalStorageDirectory()
- + File.separator + "MyApp" + File.separator + "logs"
- + File.separator + "log4j.txt");
- logConfigurator.setRootLevel(Level.DEBUG);
- logConfigurator.setLevel("org.apache", Level.ERROR);
- logConfigurator.setFilePattern("%d %-5p [%c{2}]-[%L] %m%n");
- logConfigurator.setMaxFileSize(1024 * 1024 * 5);
- logConfigurator.setImmediateFlush(true);
- logConfigurator.configure();
- Logger log = Logger.getLogger(MyApplication.class);
- log.info("My Application Created");
- }
- }
现在日志则是以:
Environment.getExternalStorageDirectory() + File.separator + "MyApp" + File.separator + "logs" + File.separator + "log4j.txt
的方式保存了。
- Android中使用log4j
- Android中使用log4j
- Android中使用log4j
- Android中使用log4j
- Android中使用log4j
- Android中使用log4j、android-logging-log4j-1.0
- Android中使用Log4j及配置说明
- Android中使用Log4j及配置说明
- Android平台使用log4j
- Android 中的log4j使用
- jboss中使用log4j
- jboss中使用log4j
- Struts中使用Log4j
- spring中log4j使用
- Java中使用Log4j
- Spring 中使用Log4j
- sbt中使用log4j
- OSGi中使用log4j
- NSNotificationCenter消息通信机制介绍(KVO)
- 移动互联网营销时代 APP更要顺势而为
- maven加载本地的jar依赖
- flex在使用itemrender时,再次刷新数据时itemrender错乱问题
- js类方法,对象方法,原型的理解
- Android中使用log4j
- android+vuforia(AR)搭建(java版)
- ubuntu下搜狗拼音输入法的配置
- solr配置
- 如何将QString转换为char *或者相反
- Android Layout机制
- Spring配置之OpenSessionInViewFilter
- 第一篇、Apache和Tomcat的整合
- hession学习笔记