From 14a3e3f3f810dcbde036a49457821ed940f0b44d Mon Sep 17 00:00:00 2001 From: feng <1304903146@qq.com> Date: Mon, 8 Jun 2026 16:06:29 +0800 Subject: [PATCH] perf: add OperateLogSyslogSerializer --- apps/audits/serializers.py | 11 +++++++++++ apps/audits/signal_handlers/other.py | 4 ++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/apps/audits/serializers.py b/apps/audits/serializers.py index 1d9572503..bfcf1e81c 100644 --- a/apps/audits/serializers.py +++ b/apps/audits/serializers.py @@ -142,6 +142,17 @@ class OperateLogFullSerializer(OperateLogSerializer): fields = OperateLogSerializer.Meta.fields + ['diff'] +class OperateLogSyslogSerializer(OperateLogSerializer): + diff = serializers.SerializerMethodField(label=_("Diff")) + + class Meta(OperateLogSerializer.Meta): + fields = OperateLogSerializer.Meta.fields + ['diff'] + + @staticmethod + def get_diff(instance): + return OperateLogStore.convert_diff_friendly(instance) + + class PasswordChangeLogSerializer(serializers.ModelSerializer): class Meta: model = models.PasswordChangeLog diff --git a/apps/audits/signal_handlers/other.py b/apps/audits/signal_handlers/other.py index 07d3694fe..cc1ddc774 100644 --- a/apps/audits/signal_handlers/other.py +++ b/apps/audits/signal_handlers/other.py @@ -7,7 +7,7 @@ from audits.models import ( PasswordChangeLog, UserLoginLog, FTPLog, OperateLog ) from audits.serializers import ( - UserLoginLogSerializer, FTPLogSerializer, OperateLogSerializer, + UserLoginLogSerializer, FTPLogSerializer, OperateLogSyslogSerializer, PasswordChangeLogSerializer ) from common.utils import get_request_ip, get_syslogger @@ -49,7 +49,7 @@ def on_audits_log_create(sender, instance=None, **kwargs): serializer_cls = FTPLogSerializer elif sender == OperateLog: category = "operation_log" - serializer_cls = OperateLogSerializer + serializer_cls = OperateLogSyslogSerializer elif sender == PasswordChangeLog: category = "password_change_log" serializer_cls = PasswordChangeLogSerializer