Skip to content

Commit b23c0d2

Browse files
author
Elad Zelingher
committed
Routing Fleck logs to LibLog
1 parent a71ff54 commit b23c0d2

File tree

1 file changed

+44
-1
lines changed

1 file changed

+44
-1
lines changed

src/net45/Default/WampSharp.Fleck/Fleck/FleckWebSocketTransport.cs

Lines changed: 44 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
1-
using Fleck;
1+
using System;
2+
using Fleck;
23
using WampSharp.Core.Listener;
4+
using WampSharp.Logging;
35
using WampSharp.V2.Binding;
46
using WampSharp.V2.Transports;
7+
using LogLevel = Fleck.LogLevel;
58

69
namespace WampSharp.Fleck
710
{
@@ -20,6 +23,46 @@ public class FleckWebSocketTransport : WebSocketTransport<IWebSocketConnection>
2023
public FleckWebSocketTransport(string location)
2124
{
2225
mServer = new WebSocketServer(location);
26+
27+
RouteLogs();
28+
}
29+
30+
private void RouteLogs()
31+
{
32+
Action<LogLevel, string, Exception> logAction = FleckLog.LogAction;
33+
34+
if (logAction != null &&
35+
logAction.Method.DeclaringType == typeof (FleckLog))
36+
{
37+
FleckLog.LogAction = ConvertLog;
38+
}
39+
}
40+
41+
private void ConvertLog(LogLevel logLevel, string message, Exception exception)
42+
{
43+
switch (logLevel)
44+
{
45+
case LogLevel.Debug:
46+
{
47+
mLogger.DebugException(message, exception);
48+
break;
49+
}
50+
case LogLevel.Info:
51+
{
52+
mLogger.InfoException(message, exception);
53+
break;
54+
}
55+
case LogLevel.Warn:
56+
{
57+
mLogger.WarnException(message, exception);
58+
break;
59+
}
60+
case LogLevel.Error:
61+
{
62+
mLogger.ErrorException(message, exception);
63+
break;
64+
}
65+
}
2366
}
2467

2568
protected override void OpenConnection<TMessage>(IWampConnection<TMessage> connection)

0 commit comments

Comments
 (0)