zoukankan      html  css  js  c++  java
  • DNN学习笔记:DNN中的Log(日志) 荣

    DNN中,处理Log的类有很多。
    一般,捕捉到一个Exception Log的时候,
    就会调用ExceptionLogController类,来把该信息封装成一个LogInfo对象,
    然后,把这个LogInfo对象存放到全局唯一的对象LoggingProvider中,
    具体存放到LoggingProvider对象的什么成员中呢,是存放到LoggingProvider对象的一个LogInfoArray类型的成员中(LogInfoArray本身就是一个LogInfo的集合,而LoggingProvider的作用就是存储这个集合,并提供相关的操作)。
    然后,一般通过LogController(ExceptionLogController的父类来操作LoggingProvider对象,这些操作包括:向LoggingProvider中添加、移出LogInfo对象,取得LogInfo集合等。

    整个过程就是:用ExceptionLogController封装Log,并存放到LoggingProvider中,并通过ExceptionLogController来实现对LoggingProvider的操作。

    可能Log的信息,多种多样,LogInfo中的单个属性存储不了这么多属性,于是,LogInfo中就有了一个LogProperties类型的成员。该成员是一个集合,存储的是LogDetailInfo类型的对象。LogDetailInfo类型的对象可以理解成一个键值对,即有名称name和值value的对象。
    所以,LogInfo是这样组成的:
    LogInfo本身存储一些常见的Log属性,例如用户名,Log创建日期等。
    LogInfo还有一个集合成员LogProperties,存储的是一些不常用的属性,例如模块编号。这些不常用的属性都封装成LogDetailInfo对象,以利于扩展。

    最后,LogInfoArray是一个存储LogInfo的容器,可以随便装入LogInfo对象。
  • 相关阅读:
    centos7/RHEL7安装LibreOffice
    CentOS7开机启动管理systemd简介及使用
    Vim使用技巧
    16_用LVM扩展xfs文件系统(当分区空间不够时)
    15_RHEL7挂载NTFS分区
    14_RHEL7安装mplayer
    polyfill-eventsource added missing EventSource to window ie浏览器 解决方案
    关于vue,webpack 中 “exports is not defined”报错
    2018 vue前端面试题
    Error: No PostCSS Config found in... 报错 踩坑记
  • 原文地址:https://www.cnblogs.com/admin11/p/198186.html
Copyright © 2011-2022 走看看