`
wypdao
  • 浏览: 1738 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

J-Hi对系统日志的设计思想与设计原理

阅读更多
系统日志就是记录管理员或用户对系统的历史操作信息,比如管理员添加或者修改、删除一个角色,这些操作都可以记录到系统日志表中,管理员可以通过“系统管理—系统日志”菜单查询详细的日志信息。

系统日志的配置大致包括两个方面:系统日志缓存配置和系统日志类型配置,此两项配置信息在WEB-INF/config/appContext.xml中

²        系统日志缓存配置:

系统产生的日志默认不是立即存入数据库的,而是存入日志缓存中,缓存中的日志信息达到设定的缓存策略时,系统将缓存中的日志信息存入数据库,缓存策略配置目前支持按照缓存大小、时间、日志条数设置

在appContext.xml文件中找到如下配置

<bean id="cacheProcessor" class="org.hi.base.sysapp.interceptor.LogSizeCacheProcessor">

           <property name="size" value="10"/>

</bean>

此处是按照缓存大小设置的缓存策略,此处的缓存大小设置的值为10M

此行代码下方有两个类似的被注释的配置如下:

<!--

<bean id="cacheProcessor" class="org.hi.base.sysapp.interceptor.LogTimerCacheProcessor">

    <property name="period" value="1"/>

</bean>

<bean id="cacheProcessor" class="org.hi.base.sysapp.interceptor.LogLengthCacheProcessor">

    <property name="length" value="10"/>

</bean>

-->

此处两项配置也是缓存策略的设置,第一项配置是按照时间设置缓存策略,此处的时间值为1分钟,第二项配置是按照日志条数设置缓存策略,此处的日志条数值为10条

注意:以上三项配置只能保留一项,也就是说当系统运行时只能选择一种日志缓存策略

²        系统日志类型配置:

系统日志类型根据操作的不同大概分为四种:添加和更新操作、删除操作、查询操作、其他操作,此四种类型分别对应于WEB-INF/config/appContext.xml配置文件中的四项配置

添加和更新操作

<bean id="saveLogAnalysisor" class="org.hi.base.sysapp.interceptor.LogSaveAnalysisor"/>

删除操作

<bean id="removeLogAnalysisor" class="org.hi.base.sysapp.interceptor.LogRemoveAnalysisor"/>

查询操作

<bean id="searchLogAnalysisor" class="org.hi.base.sysapp.interceptor.LogSearchAnalysisor"/>

其他操作

<bean id="noknowLogAnalysisor" class="org.hi.base.sysapp.interceptor.LogNoknowAnalysisor"/>

系统运行时,管理员可以根据关注的日志类型选择其中的一项或者多项,选择好后将其配置到以下代码处:

<bean id="methodLogInterceptor" class="org.hi.base.sysapp.interceptor.MethodLogInterceptor">

           <property name="saveProcessor" ref="saveProcessor"/>

           <property name="cacheProcessor" ref="cacheProcessor"/>

           <property name="unincludeMethodNames">

               <value>getEnumerations</value>

           </property>

           <property name="analysisors">

               <list><!—- 此处配置日志类型 -->

                  <ref bean="saveLogAnalysisor"/>

                  <ref bean="removeLogAnalysisor"/>

                  <ref bean="noknowLogAnalysisor"/>

               </list>

           </property>

</bean>

管理员可以将关注的日志类型添加到<property name="analysisors">下的<list>标签下,上面的代码配置了三项日志类型,即添加和更新操作、删除操作、其他操作产生的日志将会被记录到数据库,不建议将查询操作日志类型添加进去,因为查询操作将会产生大量日志,不便于管理员找到自己关注的日志内容,另外也会在较短时间内占用大量的数据库空间。

设计分析:通过上面的配置文件可以看出,系统日志的设计思想通过Spring的方法拦截器(methodLogInterceptor),该拦截器又分大的三个部分,保存处理器(saveProcessor);缓存处理器(cacheProcessor);日志分析器(analysisors)。保存处理器,的工作是将日志保存到指定的持久化介质中例如数据库表或是XML等,目前平台缺省提供的是保存到数据库表中,当然您也可以通过实现接口的方式自由控制日志保存的位置;缓存处理器,日志不是每生产一条就做一次保存的,而是通过缓存批量将日志信息保存起来,缓存处理器就是来完成日志的缓存功能,目前平台提供3种缓存机制;日志分析器,因为数据的增删查改等操作的描述信息各不相同,所以日志分析器的作用是分析日志数据的描述格式以方面管理员阅读日志。对于日志的处理流程来看,当调用某个业务层方法时日志的方法拦截器就是拦截住该方法,首先通过方法的类型调用相应日志分析器分析出日志描述信息与格式,然后将日志放到缓存中,缓存处理器会根据相应的触发条件,如果满足条件就调用保存处理器将日志信息批量保存起来。

设计分析部分由J-HI创始人张昊补充,精髓啊,呵呵!!
分享到:
评论

相关推荐

    J-HI 开发资源汇总

    其次,《Hi平台指南.doc》应当是对整个J-HI平台的一个全面介绍,涵盖了平台的基本功能、界面操作、以及与其他系统的集成。这份文档可能会包含平台的安装、配置、日常使用等实用信息,是开发者快速上手的必备读物。 ...

    J-HI使用说明

    J-HI开发平台是一个已经不那么活跃的开发工具,但本文将对它的使用方法进行说明。首先,需要明确J-HI是基于Eclipse插件体系构建的集成开发环境(IDE),它在满足Java开发需要的基础上,还专门针对J-HI平台的应用开发...

    j-hi开发平台开发指南

    支撑系统是J-HI平台运行和管理的基础,它包括但不限于版本控制系统、任务调度系统、日志监控等。 - **作用、功能** 说明支撑系统在开发流程中的角色,如版本控制用于协同开发,任务调度用于自动化构建和部署等。 ...

    J-HI 快速开发平台2015年最新版本 含文档与代码资料

    《J-HI快速开发平台2015年最新版本:深度解析与应用指南》 J-HI快速开发平台,作为2015年的最新版本,是面向企业和开发者的高效工具,旨在加速软件项目的开发进程,降低开发成本,提高工作效率。这个平台集成了多种...

    Java快速开发平台J-Hi.doc

    优秀的学习资料,平台是多年经验积累的结果,您可以通过平台分析了解更多的技术解决方案,与设计思想。 J-HI 平台的目的就是通过平台的集成能力,化繁为简,从而提高开发效率,让软件工程师将主要的精力放在最核心...

    华为交换机CE6851-48s6q-HI系统最新镜像和补丁

    1. **系统镜像(CE6851HI-V200R001C00SPC700.cc)**:这是华为CE6851-48s6q-HI交换机的操作系统镜像文件。V200R001是版本号,表明这是该系列交换机的第200次重大更新,R代表Release,C00表示该版本的次要修订,SPC...

    J-HI API CHM中文版

    J-HI API CHM中文版 Java快速开发平台: 官网:http://www.j-hi.net:8080/index.action

    CE6850-48T6Q-HI,V200R019C10SPC800 ,更新包

    CE6850-48T6Q-HI是一款高性能的企业级交换机,适用于数据中心、企业园区网络等场景。V200R019C10SPC800是该设备的操作系统版本,这是一个重要的软件更新包,旨在提供性能优化、功能增强以及可能的安全修复。"带升级...

    创维E900-S-Hi3798MV100-免拆卡刷及拆机短接强刷固件包

    创维E900-S-Hi3798MV100-免拆卡刷及拆机短接强刷固件包创维E900-S-Hi3798MV100-免拆卡刷及拆机短接强刷固件包创维E900-S-Hi3798MV100-免拆卡刷及拆机短接强刷固件包创维E900-S-Hi3798MV100-免拆卡刷及拆机短接强刷...

    j-hi开发swf格式资料

    swf格式 ,是j-hi开发的一个应用例子,是学习hi的资料,适合初学者及java开发人员参考

    E900V21E-Hi3798MV310芯片强刷包

    E900V21E-Hi3798MV310芯片强刷包,是针对该芯片设计的一款关键更新工具,旨在提升设备性能、优化系统稳定性和扩展功能。本文将深入探讨这一强刷包的内容、功能以及使用方法,帮助用户更好地理解和利用这一资源。 一...

    魔百盒CM201-2-CH-Hi3798MV300-300H-EMMC和NAND通刷

    【魔百盒CM201-2-CH-Hi3798MV300-300H-EMMC和NAND通刷】是指针对魔百盒CM201-2型号,采用Hi3798MV300芯片的电视盒子进行固件更新,该过程可以适用于两种存储类型:EMMC(嵌入式多媒体卡)和NAND闪存。这个过程通常是...

    8B中王双模中天联科版号A1H3S6-14B配置AV1118-hI3103-AV2026-1J-6X

    【标题】"8B中王双模中天联科版号A1H3S6-14B配置AV1118-hI3103-AV2026-1J-6X" 提供的信息主要围绕一个特定的电子设备或者系统配置,可能是一款手机、平板电脑或者是智能设备。这个标题中的关键词包括“8B中王双模”...

    H3C S5130S-HI-CMW710-R6353

    1. 型号(通过 display version 命令查询):S5130S-28S-HI、S5130S-52S-HI、S5130S-28S-PWR-HI、S5130S-52S-PWR-HI、S5130S-28C-HI、S5130S-52C-HI、S5130S-28C-PWR-HI、S5130S-52C-PWR-HI、S5130S-28S-UPWR-HI ...

    华为海思摄像头芯片hi3516DV300参考设计原理图+pcb图,cadence格式

    通过这些参考资料,开发者或工程师可以快速理解和实现基于HI3516DV300的摄像头系统设计,减少从零开始的开发时间,同时保证设计的质量和合规性。对于学习硬件设计和嵌入式系统的人员来说,这样的参考设计是宝贵的...

    系统固件制作-Hi3516AV100

    【系统固件制作-Hi3516AV100】是关于海思3516AV100芯片上系统固件构建的过程,主要涉及内核制作和根文件系统的构建。这一过程需要以海思的SDK为基础,即Hi3516AV100 SDK版本1.0.6.0。 首先,你需要获取并解压SDK...

    湖北移动cm101s-m8233-hi3798mv100-emmc强刷包

    总的来说,"湖北移动cm101s-m8233-hi3798mv100-emmc强刷包"是一个针对特定型号设备的系统恢复解决方案,涉及到对硬件的直接操作和系统级别的文件刷写。这种操作需要一定的技术知识和谨慎态度,以避免可能的风险。在...

    hi2023E-hi3102E-5812

    总的来说,hi2023E-hi3102E-5812的固件更新是一个涉及硬件与软件交互的过程,需要用户对相关技术有一定了解。通过正确操作,用户可以确保自己的卫星接收设备始终保持最佳状态,享受更好的收视体验。

Global site tag (gtag.js) - Google Analytics