簡體   English   中英

如何在F#腳本(fsx)中設置NLog

[英]How to set up NLog in F# script (fsx)

我有一些使用NLog進行日志記錄的f#項目。 當我使用由項目生成的.exe時,日志記錄工作正常,我在文件或控制台中看到輸出。

但是現在我需要使用我的項目在fsx-script中定義的類型(使用日志記錄),這給我帶來了麻煩。

我腳本的一部分

#r "NLog.dll"
#r "Emulators.dll" // contains some types which uses NLog
#r "DeviceEmulator.exe" // also contains types which uses NLog

// instantiating and run objects

一切正常,但我既不在控制台中也未在文件中看不到NLog的輸出。 我錯過了什么?

我目前無法訪問計算機進行檢查,但是當在fsi腳本中被激發時,您的NLog可能無法獲取其配置。

您可能希望找到nlog.config您編譯F#項目中的文件,並將其復制到該目錄,你的fsi.exeFsiAnyCPU.exe 64位fsi )位於並排着Fsi.exe.configFsiAnyCPU.exe.config )。

對於Windows上的F#3.x,該位置通常為C:\\Program Files (x86)\\Microsoft SDKs\\F#\\3.0\\Framework\\v4.0

或者,您可以從代碼中切換到配置NLog然后從腳本中運行配置文件。

我不知道NLog,但可能是您需要重定向輸出。

Console.SetOut(someClassDerivingFromStringWriter)
Console.SetError(someClassDerivingFromStringWriter)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM