标签: audit-logging

如何在 Python FastAPI 中记录原始 HTTP 请求/响应?

我们正在使用 Python FastAPI 编写一个 Web 服务,该服务将托管在 Kubernetes 中。出于审计目的,我们需要保存特定路由的request/的原始 JSON 正文。JSON的主体大小约为1MB,最好这不应该影响响应时间。我们怎样才能做到这一点?responserequestresponse

python logging audit-logging python-logging fastapi

25
推荐指数
2
解决办法
3万
查看次数

在ASP.NET MVC应用程序上记录用户活动

是否有一个很好的策略来记录ASP MVC应用程序上的用户活动?(ActionFilters/HTTPModules).

像上次用户活动的东西(就像StackOverflow"23分钟前看到的那样"),甚至是使用的页面和控制器,并进一步推动了点击的按钮或链接.

我安装了ELMAH但据我所知它只是用于错误记录.

PD:谷歌分析不是一个选项.

asp.net-mvc logging user-activity audit-trail audit-logging

22
推荐指数
3
解决办法
3万
查看次数

如何更改Python日志记录中的时区?

我想更改日志文件中的时间戳,以便它反映我当前的时区,以便我可以更快的速度调试错误,

我可以更改日志文件中的时区吗?

目前我的配置是:

logging.basicConfig(filename='audit.log',
                filemode='w',
                level=logging.INFO,
                format='%(asctime)s %(message)s',
                datefmt='%m/%d/%Y %I:%M:%S %p')
Run Code Online (Sandbox Code Playgroud)

python-2.7 audit-logging

12
推荐指数
4
解决办法
9848
查看次数

审核属性更改 - Spring MVC + JPA

我有一个班级客户.我希望能够审计这个类的属性的变化(不是整个类 - 只是它的属性).

public class Client {
private Long id;
private String firstName;
private String lastName;
private String email;
private String mobileNumber;
private Branch companyBranch;
Run Code Online (Sandbox Code Playgroud)

实际上,使用@Audited注释审核整个实体非常容易.

但我想要的是使用我的类结构审核这些更改.

这是我想要的结果类:

public class Action {
private String fieldName;
private String oldValue;
private String newValue;
private String action;
private Long modifiedBy;
private Date changeDate;
private Long clientID;
Run Code Online (Sandbox Code Playgroud)

结果应如下所示:

fieldName +"已从"+ oldValue +"更改为"+ newValue +","clientID +"更改为"modifiedBy;

  • 乔治的比尔盖茨将mobileNumber从555改为999.

我这样做的原因是我需要将这些更改存储到Action表下的DB中 - 因为我将来自不同实体的审核属性,我想将它们存储在一起,然后有能力在需要时获取它们.

我怎样才能做到这一点?

谢谢

java spring jpa audit-logging

11
推荐指数
1
解决办法
2024
查看次数

如何从Entity Framework 6中的Auditlog实体获取id

我知道那里有几个类似的帖子,但我找不到任何解决这个问题的方法.

我想在Entity Framework 6中添加,更改或删除实体(软删除)时添加(某种)AudioLog.我已经重写了SaveChanges,因为我只想为EntityStates添加,修改或删除的日志条目,我在第一次调用SaveChanges之前获取列表.问题是,因为我需要记录已执行的操作,我需要检查实体的EntityState.但是在调用SaveChanges之后,所有条目的EntityState都是Unchanged.

public override int SaveChanges()
{
    using (var scope = new TransactionScope())
    {
        var modifiedEntries = ChangeTracker.Entries()
            .Where(e => e.State == EntityState.Added || e.State == EntityState.Deleted || e.State == EntityState.Modified)
            .ToList();

        int changes = base.SaveChanges();
        foreach (var entry in modifiedEntries)
        {
            ApplyAuditLog(entry);
        }

        base.SaveChanges();
        scope.Complete();
        return changes;
    }
}

private void ApplyAuditLog(DbEntityEntry entry)
{
    ILog entity = entry.Entity as ILog;

    if (entity != null)
    {
        LogOperation operation;
        switch (entry.State)
        {
            case EntityState.Added:
                operation = LogOperation.CreateEntity;
                break;
            case …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework savechanges audit-logging entity-framework-6

10
推荐指数
1
解决办法
4733
查看次数

在Hibernate的EmptyInterceptor中注入JPA的实体管理器

我在我的数据访问层使用JPA-2.0和Hibernate.

出于审计日志记录的目的,我通过在persistence.xml中配置下面的属性来使用Hibernate的EmptyInterceptor:

<property name="hibernate.ejb.interceptor"  
                value="com.mycom.audit.AuditLogInterceptor" /> 
Run Code Online (Sandbox Code Playgroud)

AuditLogInterceptor扩展Hibernate的' org.hibernate.EmptyInterceptor '.

public class AuditLogInterceptor extends EmptyInterceptor {  

    private Long userId;  

    public AuditLogInterceptor() {}  

    @Override  
    public boolean onSave(Object entity, Serializable id, Object[] state,  
            String[] propertyNames, Type[] types) throws CallbackException {  
        // Need to perform database operations using JPA entity manager
        return false;  
    }  

   @Override
    public boolean onFlushDirty(Object entity, Serializable id,
            Object[] currentState, Object[] previousState,
            String[] propertyNames, Type[] types) {
        // other code here        
        return false;
    }

    @Override  
    public void postFlush(Iterator iterator) …
Run Code Online (Sandbox Code Playgroud)

spring hibernate jpa-2.0 audit-logging

9
推荐指数
1
解决办法
8378
查看次数

Rails 4审核宝石

我正在寻找一个Rails 4支持的gem来执行审计相关的任务.我找到了类似的宝石,但不支持Rails 4(除了纸质跟踪,但它具有我不需要的所有版本化的东西):

github审计

github pfeed

github userstamp

github paper_trail

有没有人有任何建议?经审核的宝石似乎与我正在寻找的最相似.

谢谢!:-)

ruby gem ruby-on-rails audit-logging ruby-on-rails-4

9
推荐指数
2
解决办法
1万
查看次数

如何记录通过 Django shell 进行的生产数据库更改

我想自动生成某种日志,记录在生产环境中通过 Django shell 进行的所有数据库更改。

我们使用模式和数据迁移脚本来更改生产数据库,并且它们是版本控制的。因此,如果我们引入一个错误,很容易追踪它。但是,如果团队中的开发人员通过 Django shell 更改数据库,从而引入问题,目前我们只能希望他们记得他们做了什么,或者/并且我们可以在 Python shell 历史记录中找到他们的命令。

例子。我们假设团队中的开发人员通过 Python shell 执行了以下代码:

>>> tm = TeamMembership.objects.get(person=alice)
>>> tm.end_date = date(2022,1,1)
>>> tm.save()
Run Code Online (Sandbox Code Playgroud)

它更改数据库中的团队成员资格对象。我想以某种方式记录下来。

我知道有很多与审计日志记录相关的 Django 包,但我只对 Django shell 触发的更改感兴趣,并且我想记录更新数据的 Python 代码。

所以我想到的问题是:

  • 我可以从 IPython 记录语句,但我如何知道哪一个接触了数据库?
  • 我可以监听pre_save所有模型的信号来了解数据是否发生变化,但我如何知道源是否来自 Python shell?我怎么知道原始的 Python 语句是什么?

python django django-shell audit-logging

9
推荐指数
1
解决办法
1345
查看次数

如何在log4j.properties中加密密码?

有没有办法可以加密log4j.properties中的密码

以下是我的追加者

log4j.appender.DB=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.DB.URL=jdbc:mysql://localhost:3306/anilpractice
log4j.appender.DB.driver=com.mysql.jdbc.Driver
log4j.appender.DB.user=root
log4j.appender.DB.password=P@ssw0rd
log4j.appender.DB.sql=INSERT INTO logs VALUES('%x','%d{dd MMM yyyy HH:mm:ss}','%C','%p','%m')
log4j.appender.DB.layout=org.apache.log4j.PatternLayout
Run Code Online (Sandbox Code Playgroud)

请帮我解决一下如何加密.password标签?

谢谢你们.

java logging jsp log4j audit-logging

7
推荐指数
1
解决办法
1351
查看次数

使用audit-logging插件在grails中插入双记录

我已将audit-logging插件安装到我的应用程序中.grails版本是2.1.1,插件版本是1.0.1.

在我的Config.groovy班上,我添加了这个

auditLog {
    verbose = true // verbosely log all changed values to db
    logIds = true  // log db-ids of associated objects.
    // Note: if you change next 2 properties, you must update your database schema!
    tablename = 'audit_logs' // table name for audit logs.
    transactional = false
    actorClosure = { request, session ->
        org.apache.shiro.SecurityUtils.getSubject()?.getPrincipal()
    }
Run Code Online (Sandbox Code Playgroud)

在我的域类中,我添加了这个

class Survey {
    static auditable = true
    static final int NO_RUNNING_SURVERY = 0 …
Run Code Online (Sandbox Code Playgroud)

grails plugins audit-logging grails-2.1

7
推荐指数
1
解决办法
522
查看次数