控制台和文件输出: [2020/03/31 12:06:10.001] [Debug] [top.to3.www.KCLog.main] [KCLog.java:71]-The debug log. [2020/03/31 12:06:10.015] [Info] [top.to3.www.KCLog.main] [KCLog.java:72]-The info log. [2020/03/31 12:06:10.015] [Warn] [top.to3.www.KCLog.main] [KCLog.java:73]-The warn log. [2020/03/31 12:06:10.015] [Error] [top.to3.www.KCLog.main] [KCLog.java:74]-The error log. 摘要: /** * 日志输出工具 * 可以输出到控制台和指定的文件中, 分为4个级别, 由低到高分别为: debug, info, warn, error * 输出级别: * * <li> debug: 输出 debug, info, warn, error </li> * <li> info: 输出 info, warn, error </li> * <li> warn: 输出 warn, error </li> * <li> error: 输出 error </li> * * 默认为 info 输出级别 * * * Demo: * // (可选) 设置日志输出级别, 默认为 INFO 级别 * Log.setLogOutLevel(Log.Level.DEBUG); * // (可选) 设置日志输出文件(追加到文件尾部) * Log.setLogOutFile(new File("MyLog.log")); * // (可选) 设置日志输出位置(是否输出到控制台 和 是否输出到文件), 默认只输出到控制台, 不输出到文件 * Log.setLogOutTarget(true, true); * // 输出日志 * Log.debug("TAG", "The debug log."); * Log.info("TAG", "The info log."); * Log.warn("TAG", "The warn log."); * Log.error("TAG", "The error log."); * * @author KC */ public class KCLog { /** 每条 Log 的 message 输出的最大长度, 超过部分将被截断 */ private static final int MESSAGE_MAX_LENGTH = 1024; /** 日期前缀格式化 */ private static final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("YYYY/MM/dd HH:mm:ss.SSS"); /** 日志当前的输出级别, 默认为 INFO 级别 */ private static Level logOutLevel = Level.INFO; /** 是否输出到控制台, 默认输出 */ private static boolean isOutToConsole = true; /** 是否输出到文件 */ private static boolean isOutToFile = false; /** 日志输出文件, 追加到文件尾 */ private static File logOutFile; /** 日志文件输出流, 追加到文件尾 */ private static RandomAccessFile logOutFileStream; public static void main(String[] args) throws Exception { // (可选) 设置日志输出级别, 默认为 INFO 级别 KCLog.setLogOutLevel(KCLog.Level.DEBUG); // (可选) 设置日志输出文件(追加到文件尾部) KCLog.setLogOutFile(new File("MyLog.log")); // (可选) 设置日志输出位置(是否输出到控制台 和 是否输出到文件), 默认只输出到控制台, 不输出到文件 KCLog.setLogOutTarget(true, true); // 输出日志 KCLog.debug("The debug log."); KCLog.info("The info log."); KCLog.warn("The warn log."); KCLog.error("The error log."); } public static void setLogOutLevel(Level currentLevel) { if (currentLevel == null) { currentLevel = Level.INFO; } KCLog.logOutLevel = currentLevel; } public static synchronized void setLogOutFile(File logOutFile) throws IOException { KCLog.logOutFile = logOutFile; if (logOutFileStream != null) { closeStream(logOutFileStream); logOutFileStream = null; } if (KCLog.logOutFile != null) { try { logOutFileStream = new RandomAccessFile(KCLog.logOutFile, "rw"); logOutFileStream.seek(KCLog.logOutFile.length()); } catch (IOException e) { closeStream(logOutFileStream); logOutFileStream = null; throw e; } } } public static void setLogOutTarget(boolean isOutToConsole, boolean isOutToFile) { KCLog.isOutToConsole = isOutToConsole; KCLog.isOutToFile = isOutToFile; } public static void debug(String message) { printLog(Level.DEBUG, message, false); }





















- 粉丝: 380
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 【IOS应用源码】带文字说明,可点击按钮左右滑动和手势滑动两种方法控制的图片切换组件.zip
- 【IOS应用源码】从下往上弹出的子视图窗口.zip
- 【IOS应用源码】弹出框显示的Picker control.zip
- 【IOS应用源码】弹出框口.zip
- 【IOS应用源码】弹出列表框效果.zip
- 【IOS应用源码】弹出框帐号密码输入效果.zip
- 【IOS应用源码】弹出日期选择器.zip
- 【IOS应用源码】当点击编辑器的时候,编辑器自动调整高度.zip
- 【IOS应用源码】地图程序那样的Curl效果分享MapCurlEffect.zip
- 【IOS应用源码】地图上多个指针显示(一些本地化应用或社交应用可以用得到).zip
- 【IOS应用源码】底部弹出视频,并且可以进行翻页的效果demo.zip
- 【IOS应用源码】第一个iphone小程序(实现聊天功能) Chat-1.zip
- 【IOS应用源码】点击输入框弹出键盘时,输入框的整个视图向上移动以便用户可以看到输入的内容.zip
- 【IOS应用源码】点击地图上的指针弹出窗口(里面显示该地点的相关信息).zip
- 【IOS应用源码】点击选择日期.zip
- 【IOS应用源码】顶部状态bar效果.zip


