Logger日志管理工具类
- import java.io.File;
- import java.io.FileNotFoundException;
- import java.io.FileOutputStream;
- import java.io.IOException;
- import java.io.PrintWriter;
- import java.io.StringWriter;
- import java.util.Date;
- import org.apache.commons.lang3.time.DateFormatUtils;
- import android.os.Environment;
- import android.util.Log;
- public class Logger {
- private static int LOGLEVEL = 6;
- private static int VERBISE = 1;
- private static int DEBUG = 2;
- private static int INFO = 3;
- private static int WARN = 4;
- private static int ERROR = 5;
- // 根据需要将Log存放到SD卡中
- private static String path;
- private static File file;
- private static FileOutputStream outputStream;
- private static String pattern = "yyyy-MM-dd HH:mm:ss";
- static {
- if (Utils.checkSD()) {
- File externalStorageDirectory = Environment
- .getExternalStorageDirectory();
- path = externalStorageDirectory.getAbsolutePath() + "/Log/";
- File directory = new File(path);
- if (!directory.exists()) {
- directory.mkdirs();
- }
- file = new File(new File(path), "Log.txt");
- try {
- outputStream = new FileOutputStream(file, true);
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- }
- }
- }
- public static void v(String tag, String msg) {
- if (LOGLEVEL > VERBISE) {
- Log.v(tag, msg);
- }
- }
- public static void d(String tag, String msg) {
- if (LOGLEVEL > DEBUG) {
- Log.d(tag, msg);
- }
- }
- public static void i(String tag, String msg) {
- if (LOGLEVEL > INFO) {
- Log.i(tag, msg);
- }
- }
- public static void w(String tag, String msg) {
- if (LOGLEVEL > WARN) {
- Log.w(tag, msg);
- }
- }
- public static void e(String tag, String msg) {
- if (LOGLEVEL > ERROR) {
- Log.e(tag, msg);
- }
- }
- /**
- * 将错误信息保存到SD卡中去!可选的操作!
- *
- * @param msg
- * 传递的String类型
- */
- public static void save2Sd(String msg) {
- Date date = new Date();
- String time = DateFormatUtils.format(date, pattern);
- save(time, msg);
- }
- /**
- * 将错误信息保存到SD卡中去!可选的操作!
- *
- * @param e
- * 传递的是Exception类型
- */
- public static void save2Sd(Exception e) {
- Date date = new Date();
- String time = DateFormatUtils.format(date, pattern);
- StringWriter writer = new StringWriter();
- PrintWriter pw = new PrintWriter(writer);
- e.printStackTrace(pw);
- String msg = writer.toString();
- save(time, msg);
- }
- /**
- * 保存的核心方法
- * @param time 保存的时间
- * @param msg 保存的信息
- */
- private static void save(String time, String msg) {
- if (Utils.checkSD()) {
- if (outputStream != null) {
- try {
- outputStream.write(time.getBytes());
- outputStream.write("\r\n".getBytes());
- outputStream.write(msg.getBytes());
- outputStream.write("\r\n".getBytes());
- outputStream.flush();
- } catch (IOException ex) {
- ex.printStackTrace();
- }
- } else {
- android.util.Log.i("SDCAEDTAG", "file is null");
- }
- }
- }
- }
Logger日志管理工具类的更多相关文章
- android的Log日志打印管理工具类(一)
android的Log日志的打印管理工具类: package com.gzcivil.utils; import android.util.Log; /** * 日志打印管理 * * @author ...
- Go/Python/Erlang编程语言对比分析及示例 基于RabbitMQ.Client组件实现RabbitMQ可复用的 ConnectionPool(连接池) 封装一个基于NLog+NLog.Mongo的日志记录工具类LogUtil 分享基于MemoryCache(内存缓存)的缓存工具类,C# B/S 、C/S项目均可以使用!
Go/Python/Erlang编程语言对比分析及示例 本文主要是介绍Go,从语言对比分析的角度切入.之所以选择与Python.Erlang对比,是因为做为高级语言,它们语言特性上有较大的相似性, ...
- LogCook 一个简单实用的Android日志管理工具
众所周知,日志的管理是软件系统很重要的一部分,千万不可忽略其重要性.完整的日志将会在系统维护中起着异常重要的作用,就好像磨刀不误砍柴工一样,日志就像对系统进行分析的工具,工具便捷了,对系统分析起来就能 ...
- 封装一个基于NLog+NLog.Mongo的日志记录工具类LogUtil
封装一个基于NLog+NLog.Mongo的日志记录工具类LogUtil,代码比较简单,主要是把MongoTarget的配置.FileTarget的配置集成到类中,同时利用缓存依赖来判断是否需要重新创 ...
- 封装一个基于NLog+NLog.Mongo的日志记录工具类LogUtil,nloglogutil
封装一个基于NLog+NLog.Mongo的日志记录工具类LogUtil,代码比较简单,主要是把MongoTarget的配置.FileTarget的配置集成到类中,同时利用缓存依赖来判断是否需要重新创 ...
- web项目中日志管理工具的使用
在web项目中,很多时候会用到日志管理工具,常见的日志管理用具有:JDK logging(配置文件:logging.properties) 和log4j(配置文件:log4j.properties) ...
- CentOS7日志管理工具 journalctl
1.简介 日志管理工具journalctl是centos7上专有的日志管理工具,该工具是从message这个文件里读取信息. Systemd统一管理所有Unit的启动日志.带来的好处就是,可以只用jo ...
- Java程序员须知的七个日志管理工具(转)
Splunk vs. Sumo Logic vs. LogStash vs. GrayLog vs. Loggly vs. PaperTrails vs. Splunk>Storm 英文原文:T ...
- 日志管理工具之logrotate
Logrotate配置和测试 logrotate软件是一个日志管理工具,用于非分隔日志,删除旧的日志文件,并创建新的日志文件,起到“转储作用”,可以为系统节省磁盘空间.logrotate是基于cron ...
随机推荐
- Oracle SQL 关键字
1.UID返回标识当前用户的唯一整数SQL> show userUSER 为"GAO"SQL> select username,user_id from dba_use ...
- react学习笔记-05 lifecycle
根据React官网,react有三个生命状态:装载(Mounting),更新(updating),卸载() 一:装载 装载:componentWillMount/componentDidMount(组 ...
- 浅谈C#委托和事件
委托给了C#操作函数的灵活性,我们可使用委托像操作变量一样来操作函数,其实这个功能并不是C#的首创,早在C++时代就有函数指针这一说法,而在我看来委托就是C#的函数指针,首先先简要的介绍一下委托的基本 ...
- MapReduce库类
Hadoop除了可以让开发人员自行编写map函数和reduce函数,还提供一些常用函数(mapper.reducer和partitioner)的类库,这些类位于 org.apache.hadoop.m ...
- 今天写动态canvas柱状图小结
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- 转:详解JMeter正则表达式(1)
1.概览 JMeter中包含范本匹配软件Apache Jakarta ORO .在Jakarta网站上有一些关于它的文档,例如a summary of the pattern matching cha ...
- NodeJS学习指南
七天学会NodeJS NodeJS基础 什么是NodeJS 有啥用处 如何安装 安装程序 编译安装 如何运行 权限问题 模块 require exports module 模块初始化 主模块 完整示例 ...
- jquery远程班备忘
基础第一课: 1. $(obj)获取的是一个集合,因此length最小是1, jquery,如果元素不存在,也不会报错,可通过$(obj).length<1就可以查看该元素是否存在. 2. at ...
- 设置radio的选中状态
$("#s7").click(function () { var a = document.getElementById("s7"); if (a.checke ...
- C#读书笔记之object类的基本方法
The ToString() Method For example:int i = 50;string str = i.ToString(); // returns "50" He ...