Skip to content

Commit b520a45

Browse files
committed
Added parser for .NET Core build files and date-agnostic parsing
1 parent 4fbb96a commit b520a45

File tree

3 files changed

+20
-2
lines changed

3 files changed

+20
-2
lines changed

logdissect/parsers/__init__.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
# SOFTWARE.
2222

2323
__all__ = ['syslog', 'syslogiso', 'syslognohost', 'linejson', 'tcpdump',
24-
'ciscoios', 'windowsrsyslog', 'sojson', 'webaccess', 'emerge']
24+
'ciscoios', 'windowsrsyslog', 'sojson', 'webaccess', 'emerge', 'dotnetDefault']
2525

2626
import logdissect.parsers.blank
2727
import logdissect.parsers.linejson
@@ -34,3 +34,4 @@
3434
import logdissect.parsers.windowsrsyslog
3535
import logdissect.parsers.webaccess
3636
import logdissect.parsers.emerge
37+
import logdissect.parsers.dotnetDefault

logdissect/parsers/dotnetDefault.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
from logdissect.parsers.type import ParseModule as OurModule
2+
3+
class ParseModule(OurModule):
4+
def __init__(self, options=[]):
5+
"""Initialize the .Net Core parsing module"""
6+
self.name = 'dotnetDefault'
7+
self.desc = '.Net Core Build parsing module'
8+
self.format_regex = \
9+
'^(?:\s+)?(?:\d+>)?(.*?)(?:\((\d+),(\d+)\))?:\s+(\w+)\s+(\w+\d+):\s+(.*)$'
10+
self.fields = ["filepath","line_number","column_number","log_type","error_code","description"]
11+
12+
self.backup_format_regex = None
13+
self.backup_fields = []
14+
self.tzone = None
15+
self.datestamp_type = None
16+
self.time_ordering = False
17+
self.numeric_time_ordering = False

logdissect/utils.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -206,7 +206,7 @@ def merge_logs(dataset, sort=True):
206206
ourlog['entries'] = []
207207
for d in dataset:
208208
ourlog['entries'] = ourlog['entries'] + d['entries']
209-
if sort:
209+
if sort and all('numeric_date_stamp_utc' in entry for entry in ourlog['entries']):
210210
ourlog['entries'].sort(key= lambda x: x['numeric_date_stamp_utc'])
211211

212212
return ourlog

0 commit comments

Comments
 (0)