- 浏览: 75655 次
- 性别:
- 来自: 深圳
文章分类
最新评论
import java.net.InetAddress; import java.net.UnknownHostException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.logging.Formatter; import java.util.logging.Handler; import java.util.logging.Level; import java.util.logging.LogManager; import java.util.logging.LogRecord; public class TestHandler extends Handler { public TestHandler (){ configure(); } @Override public void close() throws SecurityException { } @Override public void flush() { } @Override public void publish(LogRecord record) { if (!isLoggable(record)) { return; } record.setMessage(getUserInfo(record.getMessage())); getFormatter().format(record); getUserInfo(record.getMessage()); } private void configure() { LogManager manager = LogManager.getLogManager(); String cname = getClass().getName(); Level lovel = getLevelProperty(manager, cname + ".level", Level.ALL); if (null != lovel) { setLevel(lovel); } UploadFormatter formatter = (UploadFormatter) getFormatterProperty(manager, cname + ".formatter", new UploadFormatter()); if (null != formatter) { setFormatter(formatter); } } private Level getLevelProperty(LogManager manager, String name, Level defaultValue) { String val = manager.getProperty(name); if (val == null) { return defaultValue; } try { return Level.parse(val.trim()); } catch (Exception ex) { return defaultValue; } } Formatter getFormatterProperty(LogManager manager, String name, Formatter defaultValue) { String val = manager.getProperty(name); try { if (val != null) { Class clz = ClassLoader.getSystemClassLoader().loadClass(val); return (Formatter) clz.newInstance(); } } catch (Exception ex) { // We got one of a variety of exceptions in creating the // class or creating an instance. // Drop through. } // We got an exception. Return the defaultValue. return defaultValue; } static InetAddress addr = null; static { try { addr = InetAddress.getLocalHost(); } catch (UnknownHostException e) { e.printStackTrace(); } } public String getUserInfo(String expmsg) { String username = Conf.getInstance().getProperty("username"); String datetime = getCurrentDateTime(); String localIP = getLocalIP(); if (null == username || null == localIP) { return ""; } StringBuffer sb = new StringBuffer(); sb.append("{"); sb.append("username:").append(username); sb.append(",datetime:").append(datetime); sb.append(",localIP:").append(localIP); sb.append(",expmsg:").append(expmsg); sb.append("}"); return sb.toString(); } public String getLocalIP() { byte[] ipAddr = addr.getAddress(); String ipAddrStr = ""; for (int i = 0; i < ipAddr.length; i++) { if (i > 0) { ipAddrStr += "."; } ipAddrStr += ipAddr[i] & 0xFF; } return ipAddrStr; } public String getCurrentDateTime() { String dateformat = "yyyy-MM-dd HH:mm:ss"; Date date = new Date(); SimpleDateFormat dateFormat = new SimpleDateFormat(dateformat); String strDateFolder = dateFormat.format(date); return strDateFolder; }
发表评论
-
gradle
2018-06-19 16:38 0ext { xxxx_repo = 'http://n ... -
注解检查接口参数检查
2018-06-19 11:27 0@Documented @Target({java. ... -
linux搭建开发环境
2017-12-05 13:38 4211、查看linux机器是32位还是64位的方法: fil ... -
导出CSV文件
2017-07-12 13:44 411import java.io.BufferedWri ... -
rsa
2015-07-09 10:57 0package com.huawei.it.mcloud.m ... -
activeMq.xml
2015-04-30 16:47 0<?xml version="1.0&quo ... -
spring jms 配置
2015-04-30 16:36 01、配置spring_jms.xml 2、配置active ... -
用IBM的JDK不会出现的问题,但用SUN的JDK会出现的问题
2012-09-10 10:29 857DocumentBuilderFactory factory ... -
ant 安装
2012-02-06 16:42 8351、ant下载http://ant.apache.org/bi ... -
applet 触发 Servlet 【2】
2011-08-23 14:18 1035public class LogConnectionManag ... -
applet 触发 Servlet 【1】
2011-08-23 13:49 1058web.xml <?xml version=& ... -
SWING 表格
2011-08-23 11:32 1137blic class StudentNameCell exte ... -
java 反射
2011-08-23 11:27 1026在运行时从某些外部源读取类名反射不适合 private ... -
Iterator
2011-08-17 14:02 1235public static void main( ... -
jxl读取excel
2011-08-09 16:42 2009public class TestJXLRead { ... -
logging日志(一) 扩展Formatter
2011-08-03 16:43 1285logging.properties handl ... -
java 开发高效辅助工具
2011-06-08 10:13 1279记录一下用过的开发效率提高的工具 BeyondCom ... -
批量重名文件
2011-02-16 16:38 999import java.io.File; import ja ... -
安装Eclipse插件 -- 链接的形式
2009-10-13 17:55 1354第一次这样安装Eclipse插件,方法是1.在eclipse目 ... -
网址记录
2009-07-25 12:04 36http://java.sun.com http://www ...
相关推荐
总的来说,"timefile-logging-handler"是Python开发中一个用于日志管理的库,它扩展了标准logging模块的功能,特别是对基于时间的日志处理提供了更细粒度的控制。对于那些需要高效、有序地管理和存储大量日志数据的...
这可以通过继承`java.util.logging.Handler`类并覆盖其关键方法来实现,如`publish()`用于处理日志记录,`close()`用于关闭处理器,以及`flush()`用于确保所有缓冲的消息被写入。这样可以将日志输出到文件、数据库或...
Python的logging模块是标准库中用于日志记录的重要工具,尤其在微服务和Web服务中,日志功能不可或缺,用于追踪用户活动、程序错误和性能分析。本文将深入讲解如何通过配置文件的方式来设置logging模块。 首先,...
无论是简单的命令行应用程序还是复杂的企业级系统,合理利用`logging`模块都能显著提高项目的可维护性和扩展性。希望本文能为你提供一个关于如何使用`logging`模块的基础指南,并激发你在实践中探索更多高级特性的...
Python的内置日志模块`logging`是一个强大的工具,用于跟踪和记录程序的运行状态,它提供了灵活的日志记录策略,可以适应多种应用场景。这个模块的设计灵感来源于Apache的log4j,但具体实现有所不同。 首先,`...
9. **日志的可扩展性**:Java Logging API设计为模块化,方便添加新的Handler和Filter,以适应不同场景的需求。 在“logging-1.1.1”这个压缩包中,可能包含了这个特定版本的API库、文档、示例代码和其他相关资源,...
【Python Logging日志模块详解】 Python的标准库提供了一个强大的日志模块——`logging`,它允许开发者记录应用程序的运行情况,方便后期分析和调试。本文将深入探讨`logging`模块的使用方法,包括日志级别、日志...
6. **丰富的通知机制**:除了标准的日志记录,Logbook还可以通过电子邮件、Webhook或其他外部服务发送通知,增强了系统的可扩展性。 7. **更好的性能**:Logbook在设计时就考虑了性能优化,相比`logging`模块,它在...
5. 记录日志:现在,你可以像使用标准logging模块一样记录日志,LokiHandler会负责将这些日志发送到Loki。 这个库对于那些希望在Python应用中利用Loki的强大功能的开发者来说,是一个非常有价值的工具。它简化了...
在Python编程中,日志记录是一项重要的功能,用于追踪程序运行...它允许我们集中管理日志格式、处理器和记录器设置,使代码更清晰,易于扩展和调试。通过这种方式,开发者可以在复杂项目中更好地管理和监控日志信息。
`el_logging` 库可能提供了对Python内置`logging`模块的扩展或优化,以满足更具体的需求。 Python内置的`logging`模块是一个强大的日志系统,允许开发者自定义日志级别(如DEBUG、INFO、WARNING、ERROR、CRITICAL)...
`Log_Test`类扩展了`config_file`,并引入了一个`logging`方法,这个方法用于创建和配置日志器。首先,它从配置文件中读取日志器的名称和级别。然后,它创建一个`logging.Formatter`对象来定义日志的输出格式。根据...
通常,一个扩展库可能会包含如彩色输出、多进程/线程安全、异步日志处理等功能。 为了使用这个库,首先需要解压下载的tar.gz文件,然后通过`setup.py`安装: ```bash tar -zxvf logging-py-0.3.11.tar.gz cd ...
总之,`Python-lvsoft-enhancedlogging`是一个强大且灵活的日志库,通过扩展Python的`logging`模块,提供了更多功能和更好的用户体验,适合于需要进行复杂日志管理的项目。正确配置和使用这个库,能够极大地提高开发...
总结起来,`jboss-logging-3.3.0.Final.jar`源码展示了如何通过优雅的设计实现一个高效、可扩展的日志框架。通过深入理解这些源码,开发者不仅可以更好地利用该框架,还能学习到如何构建类似的模块化和适配性良好的...
`logging-config-1.0.3.tar.gz`是一个包含特定配置的`logging`库版本,可能是为了简化或优化日志管理而提供的第三方扩展。 首先,我们来了解一下`logging`模块的基本用法。在Python中,`logging`模块提供了创建...
`logging`模块提供了丰富的API和扩展选项,如`RotatingFileHandler`用于文件大小限制时的自动滚动,`SocketHandler`用于通过网络发送日志等。 总的来说,使用Python的`logging`模块可以轻松地创建一个符合需求的...
无论是小型脚本还是大型项目,mylogging都能提供合适且可扩展的日志管理策略,帮助开发者实现高效、清晰的日志记录。在实际开发中,合理利用mylogging库,可以显著提高代码的可维护性和调试效率。
`logzio_python_handler` 扩展了这个功能,为日志添加了一个新的处理器,这个处理器能够将这些日志消息发送到Logz.io的接收器。这样,开发者可以在不改变原有日志处理逻辑的情况下,轻松实现日志的远程传输。 **...
Laravel 支持多种日志驱动(如文件、邮件、数据库等),`laravel-error-handler`可能提供了扩展这些驱动的功能,使开发者能更好地管理和分析错误日志。你可以通过配置`config/logging.php`文件来选择合适的日志策略...