技术标签: 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,您可以避免处理大量标记,但可以轻松地将日志文件限制为应用程序的特定部分,从而更好地控制日志的位置和外观,甚至可以在运行时自定义日志记录行为.
文章浏览阅读524次,点赞2次,收藏2次。方法名 描述 concat 连接2个或者更多数组,并返回结果 every 对数组中的每一项运行给定函数,如果该函数对每一项都但返回true,则返回true filter 对数组中度过每一项运行给定函数,返回该函数会返回true的项组成分数组 forEach 对数组中更多每一项运行给定函数,这个方法没有返回值 join 将所有的数组元素连接成一..._js map push
文章浏览阅读118次。本文不对具体的算法做深入研究,只是讲解各种安全算法的原理和使用场景。一、数据校验算法数据校验,是为保护数据的完整性,用一种指定的算法对原始数据计算出的一个校验值。当接收方用同样的算法再算一次校验值,如果两次校验值一样,表示数据完整。1、奇偶校验 能检测出信息传输过程当中的一位误码。出现错误不能检测出错误,只能要求重发。2、 CRC循环冗余校验...
文章浏览阅读4.2k次,点赞4次,收藏10次。1、改源码在Echarts官网上有很多关系图示例(传送门)但是这些图两点之间最多两条边,并且方向相反。但是在社交网络分析作图时常常遇到两个人物(节点)之间存在多种关系且指向相同(方向相同的多边)。写代码过程中有意加多边然而出现覆盖现象,就算手动控制弧度也不会显示同方向边,而官方文档中并未提及相关代码。怀疑是源文件中有严格控制条件,经查阅echart源文件echarts.min.js,果然有剔除..._echarts关系图多条连线
文章浏览阅读4.6k次,点赞2次,收藏2次。文章目录我读《时间简史》 - 史蒂芬 · 霍金 / 关于测地线1、什么是测地线2、关于测地线3、前面七章我读《时间简史》 - 史蒂芬 · 霍金 / 关于测地线1、什么是测地线引用百度百科的解释 , 传送门测地线又称大地线或短程线,可以定义为空间中两点的局域最短或最长路径。测地线(Geodesic)的名字来自于对于地球尺寸与形状的大地测量学(Geodesy)。如何定义测地线类似地..._测地线是谁发现的
文章浏览阅读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 期了,这期间离不开各位同学的支持,也希望各位同学能继续关注这个栏目。先透漏这期的主题也是前两期前后指纹识别主题的延伸,请各位猜机大神再接再厉,接下这期猜机:前两期的每周猜机,师兄已经可以看出各位同学对于前后指纹识别都有自己的见解,两方僵持不下,那师兄这次就提出一个中立解决方案——侧面指纹识别,现..._侧面指纹识别怎么用
文章浏览阅读626次。鸿蒙开发之Page Ability的生命周期Page生命周期回调AbilitySlice生命周期Page与AbilitySlice生命周期关联生命周期测试系统管理或用户操作等行为均会引起Page实例在其生命周期的不同状态之间进行转换。Ability类提供的回调机制能够让Page及时感知外界变化,从而正确地应对状态变化(比如释放资源),这有助于提升应用的性能和稳健性。Page生命周期回调Page生命周期的不同状态转换及其对应的回调示意图:1.onStart()当系统首次创建Page实例时,触发该_鸿蒙4.0关闭发现页
文章浏览阅读565次。<?php//本脚本依赖 php-redis扩展,请自行安装//商品class Good { //名字 protected $name; //商品id protected $id; //库存 protected $stock; public function __construct(string $name, int $id, ..._redis连接数过高 php
文章浏览阅读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三目运算符
文章浏览阅读664次。选择禁用即可。_vm传输错误-14
文章浏览阅读1.6w次。本人文章陆续转向本人微信公账号发布 公众号:搬砖码农SmallNNN,期望您要是搬砖码农,一起学习探讨。update template set CategoryID='b09b3a7e-4f76-4bcc-9da5-72c0224e67dh' where CategoryID=2直接报错mysql Truncated incorrect DOUBLE value:b09b3a7e-4f76...