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

智能推荐

Educational CF Round 65 (Div. 2)___E 思维 F思维_Scar_Halo的博客-程序员宝宝

题目链接:点我啊╭(╯^╰)╮E Range Deleting题目大意:     删除一个区间,使得序列(可空)为非降序,问有多少个这样的区间???解题思路:    以逆序对的思想,记录每个数前面出现的比它大的最大的数和最小的数,如5 1 2 1 3 1,则数字 111 则记录 555 和 222,数字 3...

android.content.res.Resources$NotFoundException: String resource ID #0xb_哇哇 · 刘的博客-程序员宝宝

原代码:protected void convert(BaseViewHolder helper, Student item) { helper.setText(R.id.item_tv_realm_num,item.getNum()); helper.setText(R.id.item_tv_realm_name,item.getName()); helper.setText(R.id.item_tv_realm_age,item.getAge());

Android 底部导航栏按钮突出_mouse_xiaoli的博客-程序员宝宝

主要是使用了clipChildren属性,设置子控件是否可以超出父控件范围显示,默认true(不可以)、false(可以),此属性一般用在爷爷级控件上效果比较明显,例如上面效果layout_gravity控制超出的内容在哪块显示Google对clipChildren属性的原文描述:

Linux 常用ping命令详解_weixin_34416754的博客-程序员宝宝

为什么80%的码农都做不了架构师?>>> ...

P1060 开心的金明 (背包问题)_大芝士球的博客-程序员宝宝

目录P1060 开心的金明题目描述思路:未优化     优化优化前和优化后效果比对:P1060 开心的金明 题目描述金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间。更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过N元钱就行”。今天一早金明就开始做预算,但是他想买的东西太多了,肯定会超过妈妈限...

mesh repair_崔世勋的博客-程序员宝宝

摘要处理坏损的3D模型是一个非常费时的问题。这里用于automatic mesh repair的流水线包括三步:生成八叉树,表面重建和光线投射。光线投射用于移除隐藏的物体,流水线还包括一个预处理步骤用于移除相交的三角形,及一个后处理步骤用于错误检测。这里的算法是和一种容量法(volumetric method),它生成的八叉树中包含了输入模型中的数据,在生成输出之前,八叉树中的数据为了去除...

随便推点

SERVICE_FAILURE_ACTIONS_小发猫的博客-程序员宝宝

SERVICE_FAILURE_ACTIONSThe SERVICE_FAILURE_ACTIONS structure represents the action the service controller should take on each failure of a service. A service is considered failed when it terminates wi

Windows XP系统服务详解_kalogen的博客-程序员宝宝

要想正确管理和配置系统服务,一定先确保你有合适的权限,否则一些设置你无法改动。因此最方便的方法就是使用Administrator组的用户登录。而在改动服务的设置之前,备份当前的状态很有必要,一旦出错可马上恢复到正常状态。这里介绍直接备份注册表中与服务有关内容的方法,选择“开始→运行”,输入“regedit”并回车打开注册表编辑器,展开注册表选定“HKEY_LOCAL_MACHINE\SYSTEM\...

分布式计算概念_HeavenlyDragon的博客-程序员宝宝_分布式计算定义

分布式计算概念分布式计算概念分布式系统介绍分布式计算基础技术HeavenlyDragon

以太坊(Ethereum) - Ganache本地区块链_酷画册二维码生成的博客-程序员宝宝

章节以太坊(Ethereum) – 是什么以太坊(Ethereum) – 什么是智能合约以太坊(Ethereum) – 以太币以太坊(Ethereum) – 虚拟机(E.V.M.)以太坊(Ethereum) – 分布式应用(DApp)以太坊(Ethereum) – 账号(地址)以太坊(Ethereum) – 虚拟机架构以太坊(Ethereum) – 网络节点以太坊(Ethereu...

如何用pyppeteer获取数据,模拟登陆?_shadowcz007的博客-程序员宝宝

本指南适合0基础的读者一步步练习,从而上手python,有基础的可以快速浏览,了解整个思路即可。01安装环境本指南使用的是python开发环境,先用pip安装pyppe...

推荐文章

热门文章

相关标签