在面向对象的世界里,我们可以将对象拟人化。它们不仅拥有资源(数据),还能实现一些功能(方法)。Logger就是Java自带的,Android也支持的一个可以将log信息写到控制台或文件的log信息记录员。
package org.vhow.android;
import java.io.IOException;
import java.util.logging.ConsoleHandler;
import java.util.logging.FileHandler;
import java.util.logging.Level;
import java.util.logging.Logger;
public class AppMain {
public static void main(String[] args) throws SecurityException,
IOException {
// Create a Logger whose name is "AppMain"
Logger aLogger = Logger.getLogger(AppMain.class.getName());
// This Logger object will records all kinds of logs.
aLogger.setLevel(Level.ALL);
// Write logging message to Console.
sentLogMessageToConsole(aLogger);
// Writer logging message to a File.
sentLogMessageToFile(aLogger);
// Log a message.
aLogger.log(Level.INFO, "info");
}
private static void sentLogMessageToConsole(Logger aLogger) {
// A ConsoleHandler object can publish records to System.err.
ConsoleHandler aConsoleHandler = new ConsoleHandler();
// All kinds of logs will be logged by this handler.
aConsoleHandler.setLevel(Level.ALL);
// Format LogRecords for this Handler.
aConsoleHandler.setFormatter(new LogRecordFormatter());
// Add the ConsoleHanler object to receive the logging messages.
aLogger.addHandler(aConsoleHandler);
}
private static void sentLogMessageToFile(Logger aLogger) throws IOException {
// A FileHandler object can writer log message to a file.
FileHandler aFileHandler = new FileHandler("logs.log");
// All kinds of logs will be logged by this handler
aFileHandler.setLevel(Level.ALL);
// / Add the FileHandler object to receive the logging messages.
aLogger.addHandler(aFileHandler);
}
}
我们还需要一个定义log record格式的类
package org.vhow.android;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.logging.Formatter;
import java.util.logging.LogRecord;
class LogRecordFormatter extends Formatter {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
Date date;
@Override
public String format(LogRecord record) {
date = new Date(record.getMillis());
return dateFormat.format(date) + ", " + record.getSourceClassName()
+ ", " + record.getSourceMethodName() + ", "
+ record.getLevel() + ": " + record.getMessage() + "\n";
}
}
如果我们不规定log信息的格式,则默认的打到控制台的log格式如下:
默认写到文件中的log格式如下:
分享到:
相关推荐
Java日志实现。对java.util.logging.Logger的封装,在前人(原文件来自网络)的类上完善了文件的控制,使得日志文件可以重入。
1. Push AndroidLogger.dll under "plugins" directory of Notepad++ 2. Push AndroidLogger.xml under "plugins\Config" directory of Notepad++ [Features] 1. Support lexer fot APP & RADIO Log, and ...
详细介绍了java.util.logging.Logger的用法和结构,对如果扩展Logger起到抛砖引玉的作用!尊重劳动成果,亲下载了要给个评价!
The library allows to easily create custom log entries from your application in the nRF Logger. It is being used by nRF Connect and nRF Toolbox, that are available on Google Play. The logger may be ...
AndroidLogger是Notepad++的一个查看android log的插件,不过由于近期插件没有更新,而自己使用的NDP7.6已经是64位版本了,不能再直接使用了。于是找来源码重新发布了64位版本,希望能有所帮助。
Walking APIUse the jlink tool to create a custom runtime imageWork with HTML5 Javadoc and use the new search feature in JavadocLearn how to use new methods and collectors in the Streams APILearn how ...
java swing用Logger输出错误日志
Notepad++ 插件,AndroidLogger.V1.2.7. 可以让安卓日志自动显示颜色,告别白色背景 黑色字体!确保 打开的文件是.log后缀的。
Simple, pretty and powerful logger for android Setup Download compile 'com.orhanobut:logger:2.1.1' Initialize Logger.addLogAdapter(new AndroidLogAdapter()); And use Logger.d("hello"); Output Options ...
Android 开源日志库 Logger 使用教程
简单,漂亮和强大的Android日志器logger
Android统一管理日志类,分开发阶段与上线阶段切换
开源地址:https://github.com/open-android/Logger 运行效果 使用步骤 1. 在project的build.gradle添加如下代码(如下图) allprojects { repositories { maven { url "https://jitpack.io" } } } 2. 在Module的...
logger 日志打印工具
带Androidlogger插件的notepad++,直接下载解压,可用直接使用
AndroidLogger 64位 直接使用 很方便 重新编译后的版本 直接下载解压,可用直接使用,带中文的说明文件信息。
适配64位的Notepad++ 的一个查看android log的插件, 验证可以使用。 主要是分数低。
Notepad++插件,可以高亮Android LOG,可以实时抓LOG,可以抓图片,可以执行shell命令
It plots charts that show the values of selected sensors in real-time, even from connected Android Wear devices. You can get the app from the Play Store or install the latest apk file. Visualize all...
Basic logger for C and C++ projects