SimpleREST.NET 0.1
A simple and minimal api framework for .net base on Express.js
Loading...
Searching...
No Matches
SimpleRestLogger.cs
Go to the documentation of this file.
1using Dumpify;
2namespace SimpleRest.Api;
3
5{
6 SimpleRestLogLevel m_LogLevel;
8 {
9 m_LogLevel = logLevel;
10
11 }
12 public void Log(string customMessage, SimpleRestLogLevel? loglevel = null)
13 {
14 Console.WriteLine($"[{DateTime.Now.ToShortDateString()}] {customMessage}");
15 }
16
17 public void Log(SimpleRestRequest? request, SimpleRestLogLevel? loglevel = null)
18 {
19 SimpleRestLogLevel level = loglevel ?? m_LogLevel;
20
21 switch (level)
22 {
23 case SimpleRestLogLevel.LOW:
24 Console.WriteLine($"{request?.Method.ToString()}: {request?.Endpoint}");
25
26 break;
27 case SimpleRestLogLevel.MEDIUM:
28 Console.WriteLine($"[{DateTime.Now.ToShortDateString()}] {request?.Method.ToString()}: {request?.Endpoint}");
29 break;
30 case SimpleRestLogLevel.HIGH:
31 Console.WriteLine($"[{DateTime.Now.ToShortDateString()}] {request?.Method.ToString()}: {request?.Endpoint}{(request?.Query?.Count > 0 ? "?" + string.Join("&", request.Query.Select(kvp => kvp.Key + "=" + kvp.Value)) : string.Empty)}");
32 break;
33 case SimpleRestLogLevel.LONG:
34 Console.WriteLine($"[{DateTime.Now.ToLongDateString()}] {request?.Method.ToString()}: {request?.Endpoint}{(request?.Query?.Count > 0 ? "?" + string.Join("&", request.Query.Select(kvp => kvp.Key + "=" + kvp.Value)) : string.Empty)}");
35 break;
36
37 case SimpleRestLogLevel.DEBUG:
38 Console.WriteLine($@"[{DateTime.Now.ToLongDateString()}] {request?.Method.ToString()}: {request?.Endpoint}{'\n'}Query:{'\n'}{request?.Query.DumpText(
39 typeNames: new TypeNamingConfig { ShowTypeNames = false },
40 tableConfig: new TableConfig
41 {
42 ShowTableHeaders = false,
43 },
44 members: new MembersConfig { IncludeFields = true }
45
46
47
48
49 )}");
50 break;
51 }
52 }
53}
SimpleRestLogger(SimpleRestLogLevel logLevel=SimpleRestLogLevel.NONE)
void Log(SimpleRestRequest? request, SimpleRestLogLevel? loglevel=null)
void Log(string customMessage, SimpleRestLogLevel? loglevel=null)
The main class for all incoming request data. This is a wrapper for the HttpListenerRequest class....
SimpleRestLogLevel
Definition Enums.cs:4