テキストの代わりに ' * ** 'を使用して、機密フィールド (SSN、住所、名前など) をログからマスクする必要があります。コードベースは完全に 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"
どんなアイデアでも役に立ちます。