Serilog.Sink.LogEntries不';在Ubuntu上运行mono时无法工作

Serilog.Sink.LogEntries不';在Ubuntu上运行mono时无法工作,mono,serilog,logentries,Mono,Serilog,Logentries,我想将Serilog与LogEntries一起使用。当我在Windows PC上运行该应用程序时,它工作正常,但在ubuntu 14.2上的mono上构建和运行时,日志条目上不会收到任何消息。 作为第二个slog接收器,我配置了控制台输出,这在Linux上工作 在serilog中打开selfdebug后,我记录了以下异常: 2016-05-05T10:55:00 Exception while emitting periodic batch from Serilog.Sinks.Logentri

我想将Serilog与LogEntries一起使用。当我在Windows PC上运行该应用程序时,它工作正常,但在ubuntu 14.2上的mono上构建和运行时,日志条目上不会收到任何消息。 作为第二个slog接收器,我配置了控制台输出,这在Linux上工作

在serilog中打开selfdebug后,我记录了以下异常:

2016-05-05T10:55:00 Exception while emitting periodic batch from Serilog.Sinks.Logentries.LogentriesSink: System.IO.IOException: The authentication or decryption has failed. ---> System.IO.IOException: The authentication or decryption has failed. ---> Mono.Security.Protocol.Tls.TlsException: The authentication or decryption has failed.
  at Mono.Security.Protocol.Tls.RecordProtocol.EndReceiveRecord (IAsyncResult asyncResult) [0x00040] in <filename unknown>:0 
  at Mono.Security.Protocol.Tls.SslClientStream.SafeEndReceiveRecord (IAsyncResult ar, Boolean ignoreEmpty) [0x00000] in <filename unknown>:0 
  at Mono.Security.Protocol.Tls.SslClientStream.NegotiateAsyncWorker (IAsyncResult result) [0x00071] in <filename unknown>:0 
  --- End of inner exception stack trace ---
  at Mono.Security.Protocol.Tls.SslClientStream.EndNegotiateHandshake (IAsyncResult result) [0x0003b] in <filename unknown>:0 
  at Mono.Security.Protocol.Tls.SslStreamBase.AsyncHandshakeCallback (IAsyncResult asyncResult) [0x0000c] in <filename unknown>:0 
  --- End of inner exception stack trace ---
  at Mono.Security.Protocol.Tls.SslStreamBase.EndRead (IAsyncResult asyncResult) [0x00057] in <filename unknown>:0 
  at System.Net.Security.SslStream.EndAuthenticateAsClient (IAsyncResult asyncResult) [0x00011] in <filename unknown>:0 
  at System.Net.Security.SslStream.AuthenticateAsClient (System.String targetHost, System.Security.Cryptography.X509Certificates.X509CertificateCollection clientCertificates, SslProtocols enabledSslProtocols, Boolean checkCertificateRevocation) [0x0000e] in <filename unknown>:0 
  at System.Net.Security.SslStream.AuthenticateAsClient (System.String targetHost) [0x00007] in <filename unknown>:0 
  at Serilog.Sinks.Logentries.LeClient.Connect () [0x00049] in <filename unknown>:0 
  at Serilog.Sinks.Logentries.LogentriesSink.EmitBatch (IEnumerable`1 events) [0x00023] in <filename unknown>:0 
  at Serilog.Sinks.PeriodicBatching.PeriodicBatchingSink.OnTick () [0x00051] in <filename unknown>:0 
2016-05-05T10:55:02 Exception while emitting periodic batch from Serilog.Sinks.Logentries.LogentriesSink: System.IO.IOException: The authentication or decryption has failed. ---> System.IO.IOException: The authentication or decryption has failed. ---> Mono.Security.Protocol.Tls.TlsException: The authentication or decryption has failed.
  at Mono.Security.Protocol.Tls.RecordProtocol.EndReceiveRecord (IAsyncResult asyncResult) [0x00040] in <filename unknown>:0 
  at Mono.Security.Protocol.Tls.SslClientStream.SafeEndReceiveRecord (IAsyncResult ar, Boolean ignoreEmpty) [0x00000] in <filename unknown>:0 
  at Mono.Security.Protocol.Tls.SslClientStream.NegotiateAsyncWorker (IAsyncResult result) [0x00071] in <filename unknown>:0 
  --- End of inner exception stack trace ---
  at Mono.Security.Protocol.Tls.SslClientStream.EndNegotiateHandshake (IAsyncResult result) [0x0003b] in <filename unknown>:0 
  at Mono.Security.Protocol.Tls.SslStreamBase.AsyncHandshakeCallback (IAsyncResult asyncResult) [0x0000c] in <filename unknown>:0 
  --- End of inner exception stack trace ---
  at Mono.Security.Protocol.Tls.SslStreamBase.EndRead (IAsyncResult asyncResult) [0x00057] in <filename unknown>:0 
  at System.Net.Security.SslStream.EndAuthenticateAsClient (IAsyncResult asyncResult) [0x00011] in <filename unknown>:0 
  at System.Net.Security.SslStream.AuthenticateAsClient (System.String targetHost, System.Security.Cryptography.X509Certificates.X509CertificateCollection clientCertificates, SslProtocols enabledSslProtocols, Boolean checkCertificateRevocation) [0x0000e] in <filename unknown>:0 
  at System.Net.Security.SslStream.AuthenticateAsClient (System.String targetHost) [0x00007] in <filename unknown>:0 
  at Serilog.Sinks.Logentries.LeClient.Connect () [0x00049] in <filename unknown>:0 
  at Serilog.Sinks.Logentries.LogentriesSink.EmitBatch (IEnumerable`1 events) [0x00023] in <filename unknown>:0 
  at Serilog.Sinks.PeriodicBatching.PeriodicBatchingSink.OnTick () [0x00051] in <filename unknown>:0 
2016-05-05T10:55:13 Exception while emitting periodic batch from Serilog.Sinks.Logentries.LogentriesSink: System.IO.IOException: The authentication or decryption has failed. ---> System.IO.IOException: The authentication or decryption has failed. ---> Mono.Security.Protocol.Tls.TlsException: The authentication or decryption has failed.
  at Mono.Security.Protocol.Tls.RecordProtocol.EndReceiveRecord (IAsyncResult asyncResult) [0x00040] in <filename unknown>:0 
  at Mono.Security.Protocol.Tls.SslClientStream.SafeEndReceiveRecord (IAsyncResult ar, Boolean ignoreEmpty) [0x00000] in <filename unknown>:0 
  at Mono.Security.Protocol.Tls.SslClientStream.NegotiateAsyncWorker (IAsyncResult result) [0x00071] in <filename unknown>:0 
  --- End of inner exception stack trace ---
  at Mono.Security.Protocol.Tls.SslClientStream.EndNegotiateHandshake (IAsyncResult result) [0x0003b] in <filename unknown>:0 
  at Mono.Security.Protocol.Tls.SslStreamBase.AsyncHandshakeCallback (IAsyncResult asyncResult) [0x0000c] in <filename Thread started: <Thread Pool> #9
unknown>:0 
2016-05-05T10:55:00从Serilog.Sinks.Logentries.LogentriesSink:System.IO.IOException发出定期批处理时发生异常:身份验证或解密失败。-->System.IO.IOException:身份验证或解密失败。-->Mono.Security.Protocol.Tls.TlsException:身份验证或解密失败。
位于:0中的Mono.Security.Protocol.Tls.RecordProtocol.EndReceiveRecord(IAsyncResult asyncResult)[0x00040]
位于Mono.Security.Protocol.Tls.SslClientStream.SafeEndReceiveRecord(IAsyncResult ar,布尔值ignoreEmpty)[0x00000]中:0
位于:0中的Mono.Security.Protocol.Tls.SslClientStream.NegotiateAsyncWorker(IAsyncResult结果)[0x00071]
---内部异常堆栈跟踪的结束---
在:0中的Mono.Security.Protocol.Tls.SslClientStream.EndNegotiateHandshake(IAsyncResult结果)[0x0003b]处
在Mono.Security.Protocol.Tls.SslStreamBase.asynchHandshakeCallback(IAsyncResult asyncResult)[0x0000c]中:0
---内部异常堆栈跟踪的结束---
位于:0中的Mono.Security.Protocol.Tls.SslStreamBase.EndRead(IAsyncResult asyncResult)[0x00057]
在System.Net.Security.SslStream.EndAuthenticateAsClient(IAsyncResult asyncResult)[0x00011]中:0
在System.Net.Security.SslStream.AuthenticateClient(System.String targetHost,System.Security.Cryptography.X509Certificates.X509CertificateCollection客户端证书,SslProtocols启用DSLProtocols,布尔校验证书职业)[0x0000e]中:0
在System.Net.Security.SslStream.AuthenticateAsClient(System.String targetHost)[0x00007]中:0
位于:0中的Serilog.Sinks.Logentries.LeClient.Connect()[0x00049]
在0中的Serilog.Sinks.Logentries.LogentriesSink.EmitBatch(IEnumerable`1事件)[0x00023]处
在Serilog.Sinks.PeriodicBatching.PeriodicBatchingSink.OnTick()[0x00051]中:0
2016-05-05T10:55:02从Serilog.Sinks.Logentries.Logentries.LogentriesSink:System.IO.IOException发出定期批处理时发生异常:身份验证或解密失败。-->System.IO.IOException:身份验证或解密失败。-->Mono.Security.Protocol.Tls.TlsException:身份验证或解密失败。
位于:0中的Mono.Security.Protocol.Tls.RecordProtocol.EndReceiveRecord(IAsyncResult asyncResult)[0x00040]
位于Mono.Security.Protocol.Tls.SslClientStream.SafeEndReceiveRecord(IAsyncResult ar,布尔值ignoreEmpty)[0x00000]中:0
位于:0中的Mono.Security.Protocol.Tls.SslClientStream.NegotiateAsyncWorker(IAsyncResult结果)[0x00071]
---内部异常堆栈跟踪的结束---
在:0中的Mono.Security.Protocol.Tls.SslClientStream.EndNegotiateHandshake(IAsyncResult结果)[0x0003b]处
在Mono.Security.Protocol.Tls.SslStreamBase.asynchHandshakeCallback(IAsyncResult asyncResult)[0x0000c]中:0
---内部异常堆栈跟踪的结束---
位于:0中的Mono.Security.Protocol.Tls.SslStreamBase.EndRead(IAsyncResult asyncResult)[0x00057]
在System.Net.Security.SslStream.EndAuthenticateAsClient(IAsyncResult asyncResult)[0x00011]中:0
在System.Net.Security.SslStream.AuthenticateClient(System.String targetHost,System.Security.Cryptography.X509Certificates.X509CertificateCollection客户端证书,SslProtocols启用DSLProtocols,布尔校验证书职业)[0x0000e]中:0
在System.Net.Security.SslStream.AuthenticateAsClient(System.String targetHost)[0x00007]中:0
位于:0中的Serilog.Sinks.Logentries.LeClient.Connect()[0x00049]
在0中的Serilog.Sinks.Logentries.LogentriesSink.EmitBatch(IEnumerable`1事件)[0x00023]处
在Serilog.Sinks.PeriodicBatching.PeriodicBatchingSink.OnTick()[0x00051]中:0
2016-05-05T10:55:13从Serilog.Sinks.Logentries.Logentries.LogentriesSink:System.IO.IOException发出定期批处理时发生异常:身份验证或解密失败。-->System.IO.IOException:身份验证或解密失败。-->Mono.Security.Protocol.Tls.TlsException:身份验证或解密失败。
位于:0中的Mono.Security.Protocol.Tls.RecordProtocol.EndReceiveRecord(IAsyncResult asyncResult)[0x00040]
位于Mono.Security.Protocol.Tls.SslClientStream.SafeEndReceiveRecord(IAsyncResult ar,布尔值ignoreEmpty)[0x00000]中:0
位于:0中的Mono.Security.Protocol.Tls.SslClientStream.NegotiateAsyncWorker(IAsyncResult结果)[0x00071]
---内部异常堆栈跟踪的结束---
在:0中的Mono.Security.Protocol.Tls.SslClientStream.EndNegotiateHandshake(IAsyncResult结果)[0x0003b]处
在Mono.Security.Protocol.Tls.SslStreamBase.asynchHandshakeCallback(IAsyncResult asyncResult)[0x0000c]中:0

看起来Mono和Logentries之间的组合存在SSL问题。

使用来跟踪创建的日志文件可能更容易。然后,代理将此日志数据转发到您的帐户

注意这是交叉发布到:非常感谢,这是一个非常有用的提示,特别是当它还记录系统数据时