这两天学习java logger 在网上找了一些资料与大家一起分享。
看几个程序实例:
java输出日志到文件或在控制台上显示 是根据\jre\lib目录下的配置文件logging.properties【当然你也可以定义自己的配置文件】和程序里的设置决定的。
LevelTest.java 最简单的日志输出到控制台:
package logger;
import java.util.logging.Logger;
public class LevelTest
{
private static String >private static Logger log = Logger.getLogger(name);
public void sub() {
log.severe("level.severe");
log.warning("level.warning");
log.info("level.info");
log.config("level.config");
log.fine("level.fine");
log.finer("level.finer");
log.finest("level.finest");
}
public static void main(String[] args)
{
LevelTest test = new LevelTest();
test.sub();
}
}
LoggingExample.java 输出到控制台和文件:
package logger;
import java.util.logging.*;
public class LoggingExample
{
public static void main(String[] args)
{
try{
LogManager lm = LogManager.getLogManager();
Logger logger = Logger.getLogger("LoggingExample");
FileHandler fh = new FileHandler("E://workspace//javacore//logger//log_test.txt");
lm.addLogger(logger);
logger.setLevel(Level.INFO);
fh.setFormatter( new SimpleFormatter() );
logger.addHandler( fh );
logger.log( Level.INFO,"test1");
logger.log( Level.INFO,"test2");
logger.log( Level.INFO,"test3");
logger.severe("severe level");
logger.warning("warning level");
logger.info("info level");
logger.config("config level");
logger.fine("fine level");
logger.finer("finer level");
logger.finest("finest level");
fh.close();
}catch(Exception e)
{
System.out.println("Exception thrown: "+e );
e.printStackTrace();
}
}
}
最后是将日志信息输出到网络主机:
LogTest .java 客户端
package logger;
import java.io.*;
import java.util.logging.*;
public class LogTest {
private static Logger logger =
Logger.getAnonymousLogger();
public static void main(String argv[]) throws IOException
{//把localhost换成目的主机的ip
Handler handler = new SocketHandler("localhost", 8099);
logger.addHandler(handler);
logger.log(Level.SEVERE, "Hello, World");
logger.log(Level.INFO, "欢迎您的到来");
}
}
LogServer .java服务器端
package logger;
public class LogServer {
private static final int PORT_NUM = 8099;
public static void main(String args[]) {
ServerSocketFactory serverSocketFactory =
ServerSocketFactory.getDefault();
ServerSocket serverSocket = null;
try {
serverSocket =
serverSocketFactory.createServerSocket(PORT_NUM);
} catch (IOException ignored) {
System.err.println("无法创建服务");
System.exit(-1);
}
System.out.printf("LogServer 运行端口: %s%n", PORT_NUM);
while (true)
{
Socket socket = null;
try {
socket = serverSocket.accept();
InputStream is = socket.getInputStream();
BufferedReader br = new BufferedReader(
new InputStreamReader(is, "GBK"));
String line = null;
while ((line = br.readLine()) != null
) {
System.out.println(line);
}
} catch (IOException exception) {
// 处理下在个请求.
} finally {
if (socket != null) {
try {
socket.close();
} catch (IOException ignored) {
}
}
}
}
}
}
相关类的用法以及相关属性的含义可以查阅logging.properties里的文档说明和jdk5.0 API.
分享到:
相关推荐
### Java.util.logging.Logger 使用详解 #### 一、创建Logger对象 在Java中,`java.util.logging.Logger` 是...通过本文的学习,开发者能够更好地掌握 `java.util.logging` 框架的核心概念,并在实际项目中灵活运用。
### Java原生日志工具Logger详解 #### 一、引言 在软件开发过程中,日志记录是一项非常重要的功能...通过对`Logger`类的学习和实践,开发者可以轻松地在其应用中集成日志记录功能,提高应用程序的可维护性和可靠性。
UML(统一建模语言)是软件工程...在学习UML时,建议结合实际的软件开发项目进行实践,通过项目实践来加深对UML语言各个图的理解和应用。随着对UML的掌握程度加深,开发者将能够在软件设计和开发过程中更加得心应手。
本项目即为基于Java语言开发的鸿蒙OS Logger设计源码,其主要目的是为鸿蒙OS的开发者提供一个高效的日志记录解决方案。 项目中包含的文件类型丰富多样,覆盖了源代码文件、配置文件、构建文件、以及说明性文档。...
在IT行业中,日志工具是开发者进行调试、监控和故障排查的重要助手。"Logger日志工具使用"这个主题,指的是如何有效地利用特定的日志...通过学习和实践,开发者可以提高问题解决的效率,确保应用程序的稳定性和可靠性。
标题 "JDK Logger 简介" 涉及到的是Java开发中日志记录的基础知识,特别是使用JDK内置的`java.util.logging`包。这个API为开发者提供了一种简单而灵活的方式来...同时,了解JDK Logger也能为学习其他日志框架打下基础。
关于java程序员发展需要学习的路线整理集合 技术 应用技术 计算机基础知识 cpu mem disk net 线程,进程 第三方库 poi Jsoup zxing Gson 数据结构 树 栈 链表 队列 图 操作系统 linux 代码控制...
**Java学习Log4j详细文档和入门工程** 在Java编程中,日志记录是一个至关重要的环节,它能够帮助开发者跟踪程序运行状态,定位错误和异常,优化性能。Log4j是Apache组织提供的一款广泛使用的开源日志框架,适用于...
总之,通过分析"java-操作记录-对比操作前后不同"的jar文件,我们可以学习到如何在Java应用中有效地实现操作记录,以及如何通过比较操作前后记录的信息来调试和优化代码。这不仅可以提高软件的质量,也有助于提升...
本文将深入探讨Java基础学习中的关键知识点,包括自定义异常、日志框架、集合概念以及异常处理。 首先,自定义异常是Java中一种重要的错误处理机制。当你在编写业务逻辑时,可能会遇到特定的业务错误情况,这些情况...
综上所述,这个“局域网广播系统java源码”项目涉及了Java语言的核心特性和网络编程的关键概念,对于想要深入学习Java网络编程和系统开发的开发者来说,这是一个很好的实践案例。通过分析和理解这个源码,开发者可以...
通过分析和学习这个示例,开发者可以更好地理解Java日志API的工作原理,并在自己的代码中灵活应用。记住,良好的日志实践是软件开发的重要组成部分,因为它能帮助我们快速定位问题,确保系统的稳定性和可靠性。
10. **java.util.logging**: 日志记录包,提供了简单的日志记录功能,如`Logger`类,可以方便地记录应用程序运行过程中的信息。 以上这些类库构成了Java开发的基础,理解和熟练使用它们是每个Java程序员必备的技能...
### Java动态代理实现AOP详解 #### 一、引言 随着软件开发复杂度的提升,传统的面向对象编程(OOP)已经...总之,通过本篇文章的学习,读者应该能够理解和掌握如何使用Java动态代理来实现AOP的基本原理及实践操作。
8. **调试与日志**:为了便于调试和问题排查,源码中可能包含日志记录功能,例如使用java.util.logging.Logger或第三方日志框架如Log4j,记录串口操作的详细信息。 9. **上位机概念**:上位机一般指的是控制设备或...
本资料主要关注"JAVA编程规范学习",以下将详细阐述Java编程规范中的关键点。 1. 命名规则: - 类名:所有单词首字母大写,采用驼峰命名法,如`ClassName`。 - 接口名:遵循类名的命名规则,但通常接口名以`I`...
【Java聊天室】是一种基于Java编程语言开发的实时通信应用,它允许用户通过网络进行文本、...这个"JAVA聊天室"项目提供了一次学习和实践这些概念的机会,对于Java网络编程和GUI设计的学习者来说,这是一个宝贵的资源。
Java文件、文件夹权限修改的两种方法 在Java中,文件和文件夹权限的修改是非常重要的,特别是在Linux和Unix系统下。今天,我们将介绍两种修改文件...希望本文的内容能够对大家的学习或者工作具有一定的参考学习价值。
Java提供`java.lang.Throwable`和`java.util.logging.Logger`来捕获和记录错误信息。 **10. 测试** 为了确保代码的质量,开发者可能使用JUnit或其他测试框架编写单元测试和集成测试。 虽然这个Java浏览器项目代码...
源码通常由编程语言(如Java, Python, C++或PHP)编写,包含了各种函数、类和模块,用于实现特定的逻辑和功能。在这个案例中,"M-logger Final" 可能包含以下几个关键部分: 1. 数据库连接:日志数据通常存储在...