Logger问题。

自由狼-台风0
Logger问题。

Java编程,需要根据某次访问开始的时间、来访IP、来访帐号创建日志文件。

因为不同时间来访的帐号不一,来访数量也不一,个帐号来访期间所做的事情也不同,无法在程序开始时创建给定数目的Logger。

目前我的思路是为每次访问创建一个根据来访开始时间、来访IP、来访帐号命名的Logger,每个Logger配唯一的FileHandler,写与Logger同名的日志文件。

当前状态为当某帐号访问结束时,该访问所对应的Logger依然存在,该Logger的FileHandler也依然存在并继续工作。当累计访问量达到一定程度时这些Logger和FileHandler所占用的资源也一定很可观。

有办法在某个Logger及其FileHandler的使命完成后强制把它们销毁(设置为垃圾等GC来吃)吗?

虎皮尖椒
设计的思路很差,只能这么说。

自由狼-台风0
建议的设计思路?

另有一个思路是只使用少量的、固定数目的Logger,在这些Logger下为每个访问配备指向不同文件的FileHandler,每个FileHandler上再配备一个针对该访问的Filter,过滤日志内容。不过这要求日志里包含可供筛选的信息。创建这些筛选信息本身已经是个麻烦,而项目调用的外来组件内含的日志处理代码并不支持创建这种识别信息,如果修改外来组件的日志处理代码将会大大增加工作量。

sunnyfun
[quote]根据某次访问开始的时间、来访IP、来访帐号创建日志文件[/quote]

晕,这要存成多少个文件啊。

不能写在一个文件里吗
量大的话干脆用数据库好了
把数据集中起来多好,查什么给什么,统计起来也方便

自由狼-台风0
确实会生成许多日志文件。

这些文件主要用于反映程序应对各访问时的运行情况,主要是开发、测试信息,而不是纯粹的交易等业务逻辑信息,如果记入数据库反而会造成不便。

目前日志很大程度上靠人工分析,如果把来自各个访问的信息都写入同一个日志文件,则人工分析会非常困难。

[[i] 本帖最后由 自由狼-台风0 于 2008-6-11 11:39 编辑 [/i]]

蜘蛛精
[quote]原帖由 [i]自由狼-台风0[/i] 于 2008-6-11 11:37 发表 [url=http://bbs.chinaunix.net/redirect.php?goto=findpost&pid=8569164&ptid=1154907][img]http://bbs.chinaunix.net/images/common/back.gif[/img][/url]
确实会生成许多日志文件。

这些文件主要用于反映程序应对各访问时的运行情况,主要是开发、测试信息,而不是纯粹的交易等业务逻辑信息,如果记入数据库反而会造成不便。

目前日志很大程度上靠人工分析,如 ... [/quote]
人工分析前弄个预分析的代码处理日志文件,分分类就好了

自由狼-台风0
[quote]原帖由 [i]蜘蛛精[/i] 于 2008-6-11 13:23 发表 [url=http://bbs.chinaunix.net/redirect.php?goto=findpost&pid=8570040&ptid=1154907][img]http://bbs.chinaunix.net/images/common/back.gif[/img][/url]

人工分析前弄个预分析的代码处理日志文件,分分类就好了 [/quote]

关键就是来自外部组件的日志无法添加用于分类识别的信息。如果能添加,也不会费这么多事情了。
上一篇:servlet问题 下一篇:ChinaUnix.net