所以我想在c#中記錄一個事件。例如,我希望每次將按鈕壓入.txt文件時都會記錄日誌,並且每次選擇按鈕時都會使用該文件,而不是創建新的.txt文件。我不知道該怎麼做,甚至從哪裏開始。我不想要一些奢侈的代碼庫來做到這一點。有沒有人知道一個簡單而快捷的方法?如何編寫c#日誌文件?
使用VS 2015的.NET 4.5目標框架。
所以我想在c#中記錄一個事件。例如,我希望每次將按鈕壓入.txt文件時都會記錄日誌,並且每次選擇按鈕時都會使用該文件,而不是創建新的.txt文件。我不知道該怎麼做,甚至從哪裏開始。我不想要一些奢侈的代碼庫來做到這一點。有沒有人知道一個簡單而快捷的方法?如何編寫c#日誌文件?
使用VS 2015的.NET 4.5目標框架。
我相信你正在尋找NLOG,檢查的官方tutorial。
您的終端代碼將如下所示:
using NLog;
public class YourClass
{
private static Logger logger = LogManager.GetCurrentClassLogger();
public void ButtonWasPressedEvent()
{
logger.Info("Thanks for pressing dude!");
}
}
安裝可以使用NuGet,這應該很簡單。
得愛NLog!我正在輸入相同的東西,看到你的答案進來:) – Anonymous
謝謝你好先生!太棒了!! –
下面是從MSDN的例子,它涵蓋了文件的一部分。 https://msdn.microsoft.com/en-us/library/8bh11f1k.aspx
古老的log4net
是基於java前身log4j
的.NET日誌記錄器的Apache基礎解決方案。
這也是installable via NuGet但確實需要一些不平凡的配置,由於其強大功能和靈活性。 log4net
可以在代碼中或項目中的配置文件(或app.config
web.config
)構成。
日誌可以存儲在平面文件或在您的選擇,或者是兩者的數據庫系統,通過廣泛組可用appenders
的。例如,在RollingFileAppender
指定大小或間隔寫入其中「軋」一個文件(啓動一個新的文件):
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="log.txt" />
<appendToFile value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="100KB" />
<staticLogFileName value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
</appender>
多個追加程序可以同時使用直接日誌條目到多個目的地。另外,可以定義多個記錄器,每個記錄器都有自己的一套appender。
在一般的「有什麼辦法做到X」問題是這麼過於寬泛。你可以考慮閱讀像http://stackoverflow.com/questions/20185015/how-to-write-log-file-in-c這樣的老問題,以改善你的文章,並縮小範圍。 –