chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Log4Net日志存儲(chǔ)

微云疏影 ? 來源:dotNet工控上位機(jī) ? 作者:dotNet工控上位機(jī) ? 2022-08-11 15:59 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1、引言

上位機(jī)開發(fā)中,日志記錄是必不可少的,我們可以通過日志記錄做日志分析及錯(cuò)誤追蹤。初學(xué)者會(huì)采用txt文本寫入來實(shí)現(xiàn)日志保存,但是文本寫入不是線程安全,當(dāng)存在多個(gè)線程同時(shí)寫入日志時(shí),就會(huì)出現(xiàn)一些問題。Log4net庫是.Net下一個(gè)非常優(yōu)秀的開源日志記錄組件,是一個(gè)幫助開發(fā)者將日志信息輸出到各種目標(biāo)(控制臺(tái)、文件、數(shù)據(jù)庫等)的工具。本節(jié)主要采用開源組件Log4Net來實(shí)現(xiàn)錯(cuò)誤ERROR信息文本存儲(chǔ),并結(jié)合SQLite數(shù)據(jù)庫,將日志INFO信息存儲(chǔ)到數(shù)據(jù)庫中,便于后續(xù)的查詢。

2、開發(fā)準(zhǔn)備

首先新建一個(gè)Windows窗體應(yīng)用,取名為thinger.cn.Log4NetSQLitePro,UI界面設(shè)計(jì)如下所示:

pYYBAGL0ts-AFB-hAAAwo84_ixA535.png

通過Nuget添加Log4Net開源組件,如下所示:

pYYBAGL0ts-ATKxZAAJDyKwTHQA764.png

通過Nuget添加SQLite組件,如下所示:

poYBAGL0ttCAdrIiAAJloM0LCkg434.png

3、文本存儲(chǔ)

一般情況下,我們可以將一些錯(cuò)誤及異常信息存儲(chǔ)在文本中,便于隨時(shí)打開文件進(jìn)行查詢,文本存儲(chǔ)將自動(dòng)以天為單位,每天對應(yīng)一個(gè)文件,步驟如下:

添加一個(gè)應(yīng)用程序配置文件

項(xiàng)目右擊添加新建項(xiàng),項(xiàng)目類型選擇應(yīng)用程序配置文件,名稱為log4net.config,如下所示:

poYBAGL0ttGAPlEGAAKoj07QGO4741.png

配置文件編寫

日志配置文件增加相關(guān)節(jié)點(diǎn),如下所示:

poYBAGL0ttGARPH2AADaDWPYDko114.png

配置文件規(guī)定了日志信息的相關(guān)屬性、存儲(chǔ)方式、日志內(nèi)容格式等,配置信息如下所示:

poYBAGL0ttGAU0uYAABlPv8AUkQ310.png

其中,較為重要的是日志信息的格式,對應(yīng)上面文件中的ConversionPattern,值為"[%d]%n%m%n%n",每個(gè)占位符有對應(yīng)的含義,如下所示:

pYYBAGL0ttKAG7TqAAHnr_L4Wu0583.png

配置文件屬性中的復(fù)制到輸出目錄,設(shè)置為始終復(fù)制或如果較新則復(fù)制,如下圖所示:

poYBAGL0ttKAR5U_AAB8c1DUKDw001.png

項(xiàng)目的AssemblyInfo.cs類中添加一行代碼,如下所示:

poYBAGL0ttKAOYtfAAAPwVZXB3s056.png

添加一個(gè)LogHelper類,編寫2個(gè)Error的方法,如下所示:

pYYBAGL0ttKAEnKDAAA-Sbx7MM4563.png

在ini文本存儲(chǔ)按鈕事件下,調(diào)用錯(cuò)誤日志寫入,如下所示:

poYBAGL0ttKATk4hAAAekEpwa-k369.png

執(zhí)行完成后,在項(xiàng)目目錄,LogError目錄下,產(chǎn)生一條當(dāng)天日志命名的文件,打開如下所示:

poYBAGL0ttOAdWNXAABF8VYgsEY050.png

4、SQLite存儲(chǔ)

日志信息存儲(chǔ)到數(shù)據(jù)庫的好處在于便于用戶通過界面進(jìn)行查詢,這里采用開源免費(fèi)數(shù)據(jù)庫SQLite,其他關(guān)系型數(shù)據(jù)庫,如SQLServer、mysql,原理都是一樣的,具體步驟如下所示:

創(chuàng)建數(shù)據(jù)庫及數(shù)據(jù)表

通過SQLiteStudio軟件創(chuàng)建一個(gè)數(shù)據(jù)庫,取名為Log4NetSQLite,執(zhí)行以下腳本創(chuàng)建一個(gè)Log數(shù)據(jù)表:

pYYBAGL0ttOAHKkYAAAVbMvcIPw129.png

將數(shù)據(jù)庫文件復(fù)制到項(xiàng)目根目錄下的DataBase文件夾中

修改log4net.config文件,增加數(shù)據(jù)庫存儲(chǔ)相關(guān)配置,如下所示:

poYBAGL0ttOASNViAAEJ0nu_xZg497.png

bufferSize:日志緩存寫入條數(shù) 設(shè)置為0時(shí)只要有一條就立刻寫到數(shù)據(jù)庫

connectionString:SQLite指向的是數(shù)據(jù)庫文件的絕對路徑

LogHelper類中增加一個(gè)Info方法,如下所示:

pYYBAGL0ttOABNn-AAAUFmSqAy0519.png

在SQLite存儲(chǔ)按鈕事件下,調(diào)用Info日志寫入,如下所示:

poYBAGL0ttOARyntAABh0sY08bc169.png

執(zhí)行完成后,打開數(shù)據(jù)庫,查看是否有相關(guān)記錄:

pYYBAGL0ttSAJ-RZAADonkZUWqk506.png

5、實(shí)際應(yīng)用

通過上面一系列的描述,相信大家對Log4Net的應(yīng)用有了一些了解,Log4Net構(gòu)建的日志系統(tǒng)是很多項(xiàng)目必備的一個(gè)功能,對項(xiàng)目開發(fā)、調(diào)試及后續(xù)維護(hù)都有著至關(guān)重要的作用。實(shí)際使用時(shí),我們還可以將Log4Ne作為一個(gè)簡單的數(shù)據(jù)存儲(chǔ)工具,甚至可以使用Log4Net做多表多庫存儲(chǔ)等等,大家在工作中,會(huì)經(jīng)常用到。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 數(shù)據(jù)庫
    +關(guān)注

    關(guān)注

    7

    文章

    4020

    瀏覽量

    68364
  • 日志系統(tǒng)
    +關(guān)注

    關(guān)注

    0

    文章

    8

    瀏覽量

    7144
  • 上位機(jī)
    +關(guān)注

    關(guān)注

    27

    文章

    1002

    瀏覽量

    57078
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    Nginx日志分割方案

    nginx 默認(rèn)沒有提供對日志文件的分割功能,所以隨著時(shí)間的增長,access.log 和 error.log 文件會(huì)越來越大,尤其是 access.log,其
    發(fā)表于 06-19 15:05 ?950次閱讀
    Nginx<b class='flag-5'>日志</b>分割方案

    解鎖LuatOS-log庫:全棧工程師的日志管理實(shí)戰(zhàn)課!

    針對全棧開發(fā)者設(shè)計(jì)的實(shí)戰(zhàn)教程,本文聚焦LuatOS平臺(tái)log庫的高效使用,從基礎(chǔ)配置到高級(jí)調(diào)試策略,手把手教你搭建可擴(kuò)展的日志系統(tǒng),提升項(xiàng)目維護(hù)效率。 今天,我們一起來認(rèn)識(shí)LuatOS的log
    的頭像 發(fā)表于 05-12 15:23 ?1516次閱讀
    解鎖LuatOS-<b class='flag-5'>log</b>庫:全棧工程師的<b class='flag-5'>日志</b>管理實(shí)戰(zhàn)課!

    logcat如何查看Andriod log系統(tǒng)日志

    logcat會(huì)輸出系統(tǒng)哪些信息呢?如何學(xué)習(xí)logcat命令?logcat如何查看Andriod log系統(tǒng)日志?如何查看Andriod log系統(tǒng)日志?
    發(fā)表于 03-03 06:15

    MySQL中的redo log是什么

    前言 說到MySQL,有兩塊日志一定繞不開,一個(gè)是InnoDB存儲(chǔ)引擎的redo log(重做日志),另一個(gè)是MySQL Servce層的 binlog(歸檔
    的頭像 發(fā)表于 09-14 09:40 ?2634次閱讀

    LogMaster4Net日志服務(wù)器軟件

    LogMaster4Net.zip
    發(fā)表于 04-27 10:28 ?2次下載
    LogMaster<b class='flag-5'>4Net</b><b class='flag-5'>日志</b>服務(wù)器軟件

    log4j日志框架分析

    og4j是Apache下的一款開源的日志框架,能夠滿足我們在項(xiàng)目中對于日志記錄的需求。log4j提供了簡單的API調(diào)用,強(qiáng)大的日志格式定義以
    的頭像 發(fā)表于 02-28 14:32 ?2147次閱讀
    <b class='flag-5'>log4</b>j<b class='flag-5'>日志</b>框架分析

    針對大量log日志快速定位錯(cuò)誤地方

    用 grep 拿到的日志很少,我們需要查看附近的日志。我是這樣做的,首先: cat -n test.log | grep “關(guān)鍵詞” 得到關(guān)鍵日志的行號(hào)
    的頭像 發(fā)表于 04-21 09:22 ?1233次閱讀

    C#上位機(jī)開發(fā)(十三)之使用Log4net添加日志記錄功能

    一、Log4net 官方網(wǎng)站: 。 下載二進(jìn)制dll庫:包中提供了針對各個(gè)版本的dll庫: 二、使用日志庫 1. 添加庫 復(fù)制對應(yīng)的庫文件到項(xiàng)目中: 2. 配置log4net 2.1. 創(chuàng)建配置文件添加后修改該文件設(shè)置:
    發(fā)表于 05-29 16:25 ?1次下載
    C#上位機(jī)開發(fā)(十三)之使用<b class='flag-5'>Log4net</b>添加<b class='flag-5'>日志</b>記錄功能

    Spring Boot的日志框架使用

    目前市面上常見的日志框架有:slf4j(Simple Logging Facade for Java)、logback、log4j、log4j2、commons-logging(Spr
    的頭像 發(fā)表于 06-02 10:59 ?1588次閱讀
    Spring Boot的<b class='flag-5'>日志</b>框架使用

    服務(wù)器log日志大,掌握這些可正確快速定位錯(cuò)誤!

    針對大量log日志快速定位錯(cuò)誤地方
    的頭像 發(fā)表于 06-05 18:14 ?1097次閱讀

    MySQL三種日志講解

    MySQL 日志包含了錯(cuò)誤日志、查詢日志、慢查詢日志、事務(wù)日志、二進(jìn)制日志等,如果
    的頭像 發(fā)表于 07-25 11:15 ?1571次閱讀
    MySQL三種<b class='flag-5'>日志</b>講解

    基于Rust的Log日志庫介紹

    了一種簡單的方法來實(shí)現(xiàn)日志記錄,本文將介紹如何使用Rust的Log庫作為日志門面,并結(jié)合env_logger和log4rs兩個(gè)日志庫的實(shí)戰(zhàn)用
    的頭像 發(fā)表于 09-19 14:49 ?4878次閱讀

    保護(hù)Log4j日志中的敏感數(shù)據(jù),兩步搞定!

    log4j在準(zhǔn)備添加日志消息時(shí)調(diào)用此方法。在MaskingAppender類中,我們覆蓋這個(gè)方法來攔截日志消息,使用maskSensitiveData()方法對敏感數(shù)據(jù)應(yīng)用masking,然后將修改后的消息傳遞給超類的appen
    的頭像 發(fā)表于 10-18 16:03 ?1878次閱讀

    Log4cpp優(yōu)勢及優(yōu)點(diǎn)

    1、log4cpp概述 Log4cpp是一個(gè)開源的C++類庫,它提供了C++程序中使用日志和跟蹤調(diào)試的功能,它的優(yōu)點(diǎn)如下: 提供應(yīng)用程序運(yùn)行上下文,方便跟蹤調(diào)試; 可擴(kuò)展的、多種方式記錄日志
    的頭像 發(fā)表于 11-09 14:27 ?1565次閱讀
    <b class='flag-5'>Log4</b>cpp優(yōu)勢及優(yōu)點(diǎn)

    nginx日志配置方法

    access_log用來定義日志級(jí)別,日志位置。
    的頭像 發(fā)表于 10-24 17:43 ?1081次閱讀