@@ -44,9 +44,9 @@ public KeyValuePair<string, object> GetStandardColumnNameAndValue(StandardColumn
44
44
switch ( column )
45
45
{
46
46
case StandardColumn . Message :
47
- return new KeyValuePair < string , object > ( _columnOptions . Message . ColumnName , logEvent . RenderMessage ( _formatProvider ) ) ;
47
+ return new KeyValuePair < string , object > ( _columnOptions . Message . ColumnName , RenderLogMessage ( logEvent ) ) ;
48
48
case StandardColumn . MessageTemplate :
49
- return new KeyValuePair < string , object > ( _columnOptions . MessageTemplate . ColumnName , logEvent . MessageTemplate . Text ) ;
49
+ return new KeyValuePair < string , object > ( _columnOptions . MessageTemplate . ColumnName , TrimMessageTemplate ( logEvent ) ) ;
50
50
case StandardColumn . Level :
51
51
return new KeyValuePair < string , object > ( _columnOptions . Level . ColumnName , _columnOptions . Level . StoreAsEnum ? ( object ) logEvent . Level : logEvent . Level . ToString ( ) ) ;
52
52
case StandardColumn . TimeStamp :
@@ -62,6 +62,34 @@ public KeyValuePair<string, object> GetStandardColumnNameAndValue(StandardColumn
62
62
}
63
63
}
64
64
65
+ private string RenderLogMessage ( LogEvent logEvent )
66
+ {
67
+ var logMessage = logEvent . RenderMessage ( _formatProvider ) ;
68
+ var maxAllowedMessageLength = _columnOptions . Message . DataLength ;
69
+
70
+ if ( 0 < maxAllowedMessageLength && logMessage . Length > maxAllowedMessageLength )
71
+ {
72
+ logMessage = logMessage . Substring ( 0 , maxAllowedMessageLength - 3 ) ;
73
+ logMessage = $ "{ logMessage } ...";
74
+ }
75
+
76
+ return logMessage ;
77
+ }
78
+
79
+ private string TrimMessageTemplate ( LogEvent logEvent )
80
+ {
81
+ var messageTemplate = logEvent . MessageTemplate . Text ;
82
+ var maxAllowedMessageTemplateLength = _columnOptions . MessageTemplate . DataLength ;
83
+
84
+ if ( 0 < maxAllowedMessageTemplateLength && messageTemplate . Length > maxAllowedMessageTemplateLength )
85
+ {
86
+ messageTemplate = messageTemplate . Substring ( 0 , maxAllowedMessageTemplateLength - 3 ) ;
87
+ messageTemplate = $ "{ messageTemplate } ...";
88
+ }
89
+
90
+ return messageTemplate ;
91
+ }
92
+
65
93
private KeyValuePair < string , object > GetTimeStampStandardColumnNameAndValue ( LogEvent logEvent )
66
94
{
67
95
var dateTimeOffset = _columnOptions . TimeStamp . ConvertToUtc ? logEvent . Timestamp . ToUniversalTime ( ) : logEvent . Timestamp ;
0 commit comments