为什么通过python的sysloghandler发送时,远程syslog文件中的格式显示两个日期?

问题描述

我正在从S3中提取gzip文件,然后使用Python的sysloghandler将数据发送到远程syslog服务器。目前,我可以提取数据,然后将其发送到syslog服务器,但是提取日志文件时的格式存在疑问。

以下是我的日志文件输出的示例行:

<14> 2020-10-21T15:37:18.823725+00:00 2020-10-21T15:37:18.823725+00:00 10.14.132.140 {"type": "end.start","process_guid":"7M9F","parent_guid":"7M9F3L90364-000000005","backend_timestamp":"2020-09-25 14:06:40 +0000"}

您会看到第一部分如何显示两个日期- 2020-10-21T15:37:18.823725 + 00:00 2020-10-21T15:37:18.823725 + 00:00 10.14.132.140 。为什么这样做呢?我只想约会。

Here is my code below:

def load_past_keys(s3_conn,s3_bucket):
    my_logger = logging.getLogger('MyLogger')
    # We will pass the message as INFO
    my_logger.setLevel(logging.INFO)
    # my_logger.setLevel(logging.INFO)
    syslog = logging.handlers.SysLogHandler(address=('my.address.com',<my port>))
    my_logger.addHandler(syslog)


print('Get Last Key in bucket-----------------------------------Start')
prefix = "prefix"
get_last_modified = lambda obj: obj.last_modified
objects = [obj for obj in s3_bucket.objects.filter(Prefix=prefix)]
objects = [obj for obj in sorted(objects,key=get_last_modified)]
start_date = objects[-1].last_modified
start_time = str(start_date)
print('Get Last Key in bucket-----------------------------------DONE')

for objects in s3_bucket.objects.filter(Prefix=prefix):
    try:
        print('Load objects----Start')
        if str(objects.last_modified) <= start_time:
            the_obj_key = objects.key
            the_obj_last_modified = objects.last_modified
            obj = s3_conn.Object(aws_configs['bucket_name'],the_obj_key)
            with gzip.GzipFile(fileobj=obj.get()["Body"],mode='rb') as gzip_file:
                contents = gzip_file.readlines()
            for line in contents:
                a = json.loads(line)
                my_logger.info('%s',line.decode("utf-8").strip())

    except Exception as e:
        print(e)
        success_or_failure = False
    else:
        success_or_failure = True

    finally:
        print('Load ---Done')

我是syslog和handler的新手,所以关于输出为何显示两个日期的任何想法或建议都会有所帮助。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)