我只是想把一些错误日志从我的ASP.NET MVC 5应用程序发送到Logz.io
我正在使用NLog来发送日志。
我已经安装了NLog和NLog.Web软件包
我有以下nlog.config文件:
<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
autoReload="true"
throwExceptions="true"
internalLogLevel="ERROR"
internalLogFile="C:\Temp\nlog-internal.log">
<extensions>
<add assembly="Logzio.DotNet.NLog"/>
</extensions>
<targets async="true">
<target name="file" type="File"
fileName="<pathToFileName>"
archiveFileName="<pathToArchiveFileName>"
keepFileOpen="false"
layout="<long layout patten>"/>
<target name="logzio"
type="Logzio"
token="LRK......"
logzioType="nlog"
listenerUrl="https://listener.logz.io:8071"
bufferSize="1"
bufferTimeout="00:00:05"
retriesMaxAttempts="3"
retriesInterval="00:00:02"
debug="false" />
</targets>
<rules>
<logger name="*" minlevel="Debug" writeTo="logzio" />
</rules>
</nlog>然后,我的每个C#控制器都有以下一行:
private static Logger logger = LogManager.GetCurrentClassLogger();然后我试着用这样的方法来发送日志:
logger.Fatal("Something bad happens");但是,当我在writeTo="file"文件中nlog.config时,我可以在本地磁盘上找到一个日志文件,上面写着“发生了什么不好的事情”,所以一切都很好。
但是,当我使用LogzIo时,writeTo="logzio"界面上什么也没有出现,没有日志。
我错过了什么?
发布于 2018-12-14 16:58:17
在我找到解决问题的方法后回答我自己的问题。
实际上,我的整个项目都使用HTTPS。在内部Nlog日志中,我出现了以下错误
错误: System.Net.WebException :请求被中止:无法创建SSL/TLS安全通道
我刚刚在ApplicationStart的Global.asax.cs开头添加了这一行代码
ServicePointManager.SecurityProtocol |= SecurityProtocolType.Tls12;在几天内对整个项目进行测试之后,它似乎不会影响到项目的其他部分。不过,要小心,因为它是一个全局设置
发布于 2018-12-04 10:33:26
我也有过同样的问题,结果发现,在我发布的应用程序中,logzio dlls丢失了。我添加了它们,它解决了这个问题。
检查您的bin文件夹中是否缺少这些文件: Logzio.DotNet.NLog.dll Logzio.DotNet.Core.dll
https://stackoverflow.com/questions/53594538
复制相似问题