我需要使用文本的'***‘实例从日志中屏蔽敏感字段(如SSN、Address、Name)。代码基完全是C++。这是一个庞大的代码库。我注意到,大多数敏感信息都是在日志中的xml标记中打印的。我对C++非常陌生。如果有人能为我指出正确的方向,我将不胜感激。下面是如何将字段记录在代码中的示例:
AppMsg rsp(a_dictionary::a_dictionary, XML_RSP, 1);
........
log_msg(CONSOLE, " ResponseTime: %d", response_time);
rsp.add_field(OUTPUT_XML, rsp_xml);
rsp.add_field(STATUS_CODE, status_code);
rsp.add_field(STATUS_DESC, status_desc);这些日志看起来像:
14:02:58 C--[abcInterfaceServer-1]: abc Query ResponseTime: 0
aRspXml:<?xml version="1.0" encoding="UTF-8"?> //rsp.add_field(OUTPUT_XML, rsp_xml);
<CustomerInfo>
<sourceFlag>1</sourceFlag>
<Response>
<Data>
<LastName>aa</LastName> //these are the fieds I need to mask
<FirstName>aaa</FirstName>
<PhoneNumber>aaaa</PhoneNumber>
<Street>aaaa</Street>
<City>aa</City>
<State>aaaa</State>
<Zip>aaa</Zip>
.....
[1] STATUS_CODE[1234] : num_inst = 1
[0] 0
[2] STATUS_DESC[12345] : num_inst = 1
[0] "SUCCESS"任何想法都会有帮助。
发布于 2013-09-27 21:37:50
publicDataString()),将公共数据序列化为可打印的字符串或者,修改这些对象的operator<<(),默认情况下只输出公共数据。
或者,在没有修改的情况下输出到私有日志,并创建一个转换脚本,以便在将私有日志复制到公共日志时删除所有私有信息。
https://stackoverflow.com/questions/19060098
复制相似问题