原文地址:http://www.ihuxu.com/p/236.html
说明:这是一个利用Java Logger类的示例,完成简单的日志记录功能。代码中有部分类库没有说明,但不影响阅读。
本人技术是新手,对于java的内存问题有着很大的困惑。希望得到网友的指点,问题描述如下:
本人写了一个日志类Log,当加载Log类后,内存会增长20M左右,但是等释放了所有内存变量时,观察内存情况,并没有释放这个20M的迹象。诸如此类的问题还有很多,虽然Java有GC,不用显示释放内存。但是,确实不知道或者观察不到内存的释放过程。
代码如下:
- package tools;
- import java.io.IOException;
- import java.util.logging.FileHandler;
- import java.util.logging.Level;
- import java.util.logging.Logger;
- public class Log {
- private static Logger l;
- private static FileHandler fh;
- /**
- * 构造函数
- *
- * @since alpha 0.0.1
- *
- */
- private Log() {
- try {
- Log.l = Logger.getLogger(Config.GLOBAL_LOGGER_NAME);
- Log.fh = new FileHandler(Config.LOG_FILE_NAME,true);
- Log.l.addHandler(Log.fh);
- Log.l.setLevel(Level.ALL);
- } catch (SecurityException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- /**
- * 获取单利 - 单利模式
- *
- * @return Logger
- * @since alpha 0.0.1
- *
- */
- private static Logger getInstance() {
- if( Log.l == null ) {
- new Log();
- }
- return Log.l;
- }
- /**
- * log
- *
- * @param l
- * @param str
- * @since alpha 0.0.1
- *
- */
- public static void log(Level l, String str) {
- Logger logger = Log.getInstance();
- logger.log(l,str);
- }
- public static void flush() {
- Log.fh.flush();
- }
- public static void close() {
- if( Log.l != null ) {
- Log.l = null;
- }
- if( Log.fh != null ) {
- Log.fh.flush();
- Log.fh.close();
- Log.fh = null;
- }
- }
- }
调用代码:
- Log.log(Level.ALL,"some info");//此时内存增加20M
- Log.close();//内存无变化,尽管加上System.GC()也没有变化
相关推荐
Java日志实现。对java.util.logging.Logger的封装,在前人(原文件来自网络)的类上完善了文件的控制,使得日志文件可以重入。
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.Properties; import javax.naming.Context...
详细介绍了java.util.logging.Logger的用法和结构,对如果扩展Logger起到抛砖引玉的作用!尊重劳动成果,亲下载了要给个评价!
关于logger2js Version:v1 0 6 创意无限 简单实用 javascript logger&debug toolbox logger2js logger2js是用原生态javascript语言编写的web页面js日志&调试工具箱 主要用于客户端脚本的分析和查错 工具...
This document describes a common interface for logging libraries.The main goal is to allow libraries to receive a Psr\Log\LoggerInterface object and write logs to it in a simple and universal way.
资源分类:Python库 所属语言:Python 资源全名:fluent-logger-pyramid-0.0.3.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
正在安装$ composer require overtrue/laravel-query-logger -vvv 当LOG_QUERY为true时,将启用Laravel查询记录器。用法$ tail -f ./storage/logs/laravel.log [2017-09-05 14:52:14] local.DEBUG: [800μs] select ...
资源分类:Python库 所属语言:Python 使用前提:需要解压 资源全名:logger_tt-1.3.0-py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
一个简单的 logger类,支持自动创建文件
VC-Logger 是一个简单易用的 C 程序通用日志组件。设计时着重考虑三个方面:功能、可用性和性能。为了让大家能更方便的学习 VC-Logger,特此精心制作了几个测试用例:TestGUILogger(GUI 版本测试用例 / 静态加载)...
td-logger-java是一个 Java 库,用于记录来自 Java 应用程序的事件。 它支持两种操作模式:直接上传和间接上传(通过 td-agent,了解更多)。 该库利用了直接上传模式和间接上传模式。 要求 Java >= 1.6 安装 使用多...
java swing用Logger输出错误日志
创意无限,简单实用 javascript logger&debug toolbox - logger2js logger2js是用原生态javascript语言编写的web页面js日志&调试工具箱,主要用于客户端脚本的分析和查错。 工具提供了$alert函数来代替js固有的...
深信服日志分析管理系统SIP-Logger白皮书
dolphinscheduler-logger-server-hadoop104
离线安装包,亲测可用
资源分类:Python库 所属语言:Python 资源全名:logger-to-kibana-0.0.9.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
资源分类:Python库 所属语言:Python 资源全名:logger-es-cli-0.3.3.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
logger-app-源码.rar
import java.util.List; import java.util.ArrayList; import java.util.Date; import java.util.Iterator; import java.util.Properties; import javax.mail.Session; import javax.mail.Transport; import javax....