3
我通過構建日誌記錄機制在ServiceStack中記錄所有API調用。我想知道是否有某種方法來攔截日誌調用,並在保存數據之前清理數據以擺脫密碼等內容。ServiceStack日誌清理
我通過構建日誌記錄機制在ServiceStack中記錄所有API調用。我想知道是否有某種方法來攔截日誌調用,並在保存數據之前清理數據以擺脫密碼等內容。ServiceStack日誌清理
你可以只實現自己的適配器ILogFactory
和ILog
類,就像一個代理當前配置的記錄,如:
LogManager.LogFactory = new ScrubberLogFactory(LogManager.LogFactory);
ScrubberLogFactory將只是一個包裝,並委託調用到真正的LogFactory,如:
class ScrubberLogFactory : ILogFactory
{
ILogFactory logFactory;
public ScrubberLogFactory(ILogFactory logFactory)
{
this.logFactory = logFactory;
}
public ILog GetLogger(Type type)
{
return new ScrubLogger(logfactory.GetLogger(type));
}
public ILog GetLogger(string typeName)
{
return new ScrubLogger(logfactory.GetLogger(typeName));
}
}
ScrubLogger是攔截它委託給底層之前記錄所有的日誌調用,然後你可以做你的需要(即擦洗記錄信息),另一個適配器類。
來自其他人的答案只是感覺不對。 – poindexter12