繁体   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