android 输出log到sd卡,将android logcat输出到sd卡_别逃离我的博客-程序员宅基地

技术标签: android 输出log到sd卡  

如果我误解了你的目标,我很抱歉,但也许你可以使用

java.util.logging API而不是使用Logcat或Android Logging机制.

与Android日志记录API一样,java.util.logging API允许您轻松地在各种级别记录消息,例如FINE,FINER,WARN,SEVERE等.

但标准日志记录API也具有其他优势.例如,您可以使用FileHandler轻松创建日志文件.事实上,FileHandler具有内置的日志轮换机制,因此您不必担心(如此多)清理日志文件.您还可以创建Loggers的层次结构;因此,例如,如果您有两个Logger,com.example.foo和com.example.foo.bar,则更改前者的日志记录级别也会更改后者的日志记录级别.如果在不同的类中创建两个Logger,这甚至可以工作!此外,通过指定日志记录配置文件,可以在运行时更改日志记录行为最后,您可以通过实现自己的Formatter来自定义日志的格式(或者只使用SimpleFormatter来避免使用默认的XML格式).

要使用标准日志记录API,您可以尝试以下方法:

// Logger logger is an instance variable

// FileHandler logHandler is an instance variable

try {

String logDirectory =

Environment.getExternalStorageDirectory() + "/log_directory";

// the %g is the number of the current log in the rotation

String logFileName = logDirectory + "/logfile_base_name_%g.log";

// ...

// make sure that the log directory exists, or the next command will fail

//

// create a log file at the specified location that is capped 100kB. Keep up to 5 logs.

logHandler = new FileHandler(logFileName, 100 * 1024, 5);

// use a text-based format instead of the default XML-based format

logHandler.setFormatter(new SimpleFormatter());

// get the actual Logger

logger = Logger.getLogger("com.example.foo");

// Log to the file by associating the FileHandler with the log

logger.addHandler(logHandler);

}

catch (IOException ioe) {

// do something wise

}

// examples of using the logger

logger.finest("This message is only logged at the finest level (lowest/most-verbose level)");

logger.config("This is an config-level message (middle level)");

logger.severe("This is a severe-level message (highest/least-verbose level)");

Android日志记录机制当然简单方便.但是,它不是可定制的,并且必须使用标记进行日志过滤,这很容易变得难以处理.通过使用java.uitl.logging API,您可以避免处理大量标记,但可以轻松地将日志文件限制为应用程序的特定部分,从而更好地控制日志的位置和外观,甚至可以在运行时自定义日志记录行为.

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_34260080/article/details/117590860

智能推荐

JavaScript常用的数组方法(数组新特性)_js map push-程序员宅基地

文章浏览阅读524次,点赞2次,收藏2次。方法名 描述 concat 连接2个或者更多数组,并返回结果 every 对数组中的每一项运行给定函数,如果该函数对每一项都但返回true,则返回true filter 对数组中度过每一项运行给定函数,返回该函数会返回true的项组成分数组 forEach 对数组中更多每一项运行给定函数,这个方法没有返回值 join 将所有的数组元素连接成一..._js map push

对称(DES/AES)与非对称(RSA/SSL/数字证书)加密介绍及实际应用-程序员宅基地

文章浏览阅读118次。本文不对具体的算法做深入研究,只是讲解各种安全算法的原理和使用场景。一、数据校验算法数据校验,是为保护数据的完整性,用一种指定的算法对原始数据计算出的一个校验值。当接收方用同样的算法再算一次校验值,如果两次校验值一样,表示数据完整。1、奇偶校验 能检测出信息传输过程当中的一位误码。出现错误不能检测出错误,只能要求重发。2、 CRC循环冗余校验...

Echarts关系图实现两个节点连接同向的多条边(详细)_echarts关系图多条连线_锵锵锵锵~蒋的博客-程序员宅基地

文章浏览阅读4.2k次,点赞4次,收藏10次。1、改源码在Echarts官网上有很多关系图示例(传送门)但是这些图两点之间最多两条边,并且方向相反。但是在社交网络分析作图时常常遇到两个人物(节点)之间存在多种关系且指向相同(方向相同的多边)。写代码过程中有意加多边然而出现覆盖现象,就算手动控制弧度也不会显示同方向边,而官方文档中并未提及相关代码。怀疑是源文件中有严格控制条件,经查阅echart源文件echarts.min.js,果然有剔除..._echarts关系图多条连线

我读《时间简史》 - 史蒂芬 · 霍金 / 关于测地线_测地线是谁发现的-程序员宅基地

文章浏览阅读4.6k次,点赞2次,收藏2次。文章目录我读《时间简史》 - 史蒂芬 · 霍金 / 关于测地线1、什么是测地线2、关于测地线3、前面七章我读《时间简史》 - 史蒂芬 · 霍金 / 关于测地线1、什么是测地线引用百度百科的解释 , 传送门测地线又称大地线或短程线,可以定义为空间中两点的局域最短或最长路径。测地线(Geodesic)的名字来自于对于地球尺寸与形状的大地测量学(Geodesy)。如何定义测地线类似地..._测地线是谁发现的

轻量级别架构LNMP架构,已经解释的详细的不能够在详细了,还不进来看看嘛_最轻量的 lnmp面板-程序员宅基地

文章浏览阅读3.8k次。LNMP平台就是Linux,Nginx,MySQL,PHP的组合架构,需要LINUX服务器,MySQL数据库,PHP解析环境1本案例在单台服务器上部署LNMP环境MySQL安装配置为了与Nginx,PHP环境保持一致,此处选择采用源代码编译的方式安装MySQL组件MySQL 部署的方法*编译安装MySQL*优化调整*初始化数据库*启动MySQL 服务冰设置root数据库账号的密码安装mysqlyum -y install \ncurses \ncurses-devel \biso_最轻量的 lnmp面板

什么叫侧面指纹识别_侧面指纹识别真的只是大法一家独有?-程序员宅基地

文章浏览阅读202次。好久不见 ~!,ZAKER 科技的各位机友们,第 14 期《每周猜机》又跟大家见面了。每周猜机到 14 期了,这期间离不开各位同学的支持,也希望各位同学能继续关注这个栏目。先透漏这期的主题也是前两期前后指纹识别主题的延伸,请各位猜机大神再接再厉,接下这期猜机:前两期的每周猜机,师兄已经可以看出各位同学对于前后指纹识别都有自己的见解,两方僵持不下,那师兄这次就提出一个中立解决方案——侧面指纹识别,现..._侧面指纹识别怎么用

随便推点

鸿蒙开发之Page Ability生命周期_鸿蒙4.0关闭发现页-程序员宅基地

文章浏览阅读626次。鸿蒙开发之Page Ability的生命周期Page生命周期回调AbilitySlice生命周期Page与AbilitySlice生命周期关联生命周期测试系统管理或用户操作等行为均会引起Page实例在其生命周期的不同状态之间进行转换。Ability类提供的回调机制能够让Page及时感知外界变化,从而正确地应对状态变化(比如释放资源),这有助于提升应用的性能和稳健性。Page生命周期回调Page生命周期的不同状态转换及其对应的回调示意图:1.onStart()当系统首次创建Page实例时,触发该_鸿蒙4.0关闭发现页

php-redis解决高并发案例_redis连接数过高 php-程序员宅基地

文章浏览阅读565次。<?php//本脚本依赖 php-redis扩展,请自行安装//商品class Good { //名字 protected $name; //商品id protected $id; //库存 protected $stock; public function __construct(string $name, int $id, ..._redis连接数过高 php

UI--多行文本折叠展开效果_ui折叠效果-程序员宅基地

文章浏览阅读9.1k次,点赞2次,收藏16次。经常在APP中能看到有引用文章或大段博文的内容,他们的展示样式也有点儿意思,默认是折叠的,当你点击文章之后它会自动展开。再次点击他又会缩回去。  网上有找到部分效果,感觉不是很满意。最后自己尝试用 **自定义布局layout** 写了个demo。比较简陋,不过可以用了。有这方面需求的朋友可以稍加改造下。如有更好的创意,也不妨分享一下。_ui折叠效果

三目运算符-程序员宅基地

文章浏览阅读47次。page.pageNum+1>page.totalPage?page.totalPage:page.pageNum+1看着没什么问题,但是会出现转换异常javax.el.ELException: Error Parsing: ${page.pageNum+1>page.totalPage?page.totalPage:page.pageNum+1} org.apache.e..._servlet三目运算符

mysql Truncated incorrect DOUBLE value-程序员宅基地

文章浏览阅读1.6w次。本人文章陆续转向本人微信公账号发布 公众号:搬砖码农SmallNNN,期望您要是搬砖码农,一起学习探讨。update template set CategoryID='b09b3a7e-4f76-4bcc-9da5-72c0224e67dh' where CategoryID=2直接报错mysql Truncated incorrect DOUBLE value:b09b3a7e-4f76...

推荐文章

热门文章

相关标签