1
1
using System ;
2
2
using System . Collections . Generic ;
3
+ using System . Linq ;
3
4
using System . Reflection ;
4
5
using System . Threading . Tasks ;
5
6
using k8s ;
6
7
using KubeOps . Operator . Caching ;
7
8
using KubeOps . Operator . Client ;
8
9
using KubeOps . Operator . Commands ;
9
10
using KubeOps . Operator . DependencyInjection ;
11
+ using KubeOps . Operator . Logging ;
10
12
using KubeOps . Operator . Queue ;
11
13
using KubeOps . Operator . Serialization ;
12
14
using KubeOps . Operator . Watcher ;
19
21
using Newtonsoft . Json . Serialization ;
20
22
using YamlDotNet . Serialization ;
21
23
22
- #if ! DEBUG
23
- using System . Linq ;
24
- using KubeOps . Operator . Logging ;
25
- #endif
26
-
27
24
namespace KubeOps . Operator
28
25
{
29
26
public sealed class KubernetesOperator
@@ -58,25 +55,29 @@ public Task<int> Run(string[] args)
58
55
var app = new CommandLineApplication < RunOperator > ( ) ;
59
56
60
57
_builder . ConfigureLogging (
61
- builder =>
58
+ ( hostContext , logging ) =>
62
59
{
63
- builder . ClearProviders ( ) ;
64
- #if DEBUG
65
- builder . AddConsole ( options => options . TimestampFormat = @"[HH:mm:ss] " ) ;
66
- #else
67
- if ( args . Contains ( NoStructuredLogs ) )
60
+ logging . ClearProviders ( ) ;
61
+
62
+ if ( hostContext . HostingEnvironment . IsProduction ( ) )
68
63
{
69
- builder . AddConsole ( options =>
64
+ if ( args . Contains ( NoStructuredLogs ) )
70
65
{
71
- options . TimestampFormat = @"[dd.MM.yyyy - HH:mm:ss] " ;
72
- options . DisableColors = true ;
73
- } ) ;
66
+ logging . AddConsole ( options =>
67
+ {
68
+ options . TimestampFormat = @"[dd.MM.yyyy - HH:mm:ss] " ;
69
+ options . DisableColors = true ;
70
+ } ) ;
71
+ }
72
+ else
73
+ {
74
+ logging . AddStructuredConsole ( ) ;
75
+ }
74
76
}
75
77
else
76
78
{
77
- builder . AddStructuredConsole ( ) ;
79
+ logging . AddConsole ( options => options . TimestampFormat = @"[HH:mm:ss] " ) ;
78
80
}
79
- #endif
80
81
} ) ;
81
82
82
83
var host = _builder . Build ( ) ;
@@ -109,7 +110,7 @@ private void ConfigureRequiredServices() =>
109
110
{
110
111
ContractResolver = new NamingConvention ( ) ,
111
112
Converters = new List < JsonConverter >
112
- { new StringEnumConverter { NamingStrategy = new CamelCaseNamingStrategy ( ) } } ,
113
+ { new StringEnumConverter { NamingStrategy = new CamelCaseNamingStrategy ( ) } } ,
113
114
} ) ;
114
115
services . AddTransient (
115
116
_ => new SerializerBuilder ( )
@@ -130,13 +131,13 @@ private void ConfigureRequiredServices() =>
130
131
{
131
132
ContractResolver = new NamingConvention ( ) ,
132
133
Converters = new List < JsonConverter >
133
- { new StringEnumConverter { NamingStrategy = new CamelCaseNamingStrategy ( ) } }
134
+ { new StringEnumConverter { NamingStrategy = new CamelCaseNamingStrategy ( ) } }
134
135
} ,
135
136
DeserializationSettings =
136
137
{
137
138
ContractResolver = new NamingConvention ( ) ,
138
139
Converters = new List < JsonConverter >
139
- { new StringEnumConverter { NamingStrategy = new CamelCaseNamingStrategy ( ) } }
140
+ { new StringEnumConverter { NamingStrategy = new CamelCaseNamingStrategy ( ) } }
140
141
}
141
142
} ;
142
143
} ) ;
0 commit comments