Лучшие практики для регистрации «коммерческого» объекта транзакции - PullRequest
0 голосов
/ 16 ноября 2009

Я должен регистрировать «коммерческий» объект транзакции (например, запрос / ответ шлюза обработки кредитных карт).

Кто-то упомянул об использовании log4net для хранения этого ... но это просто нехорошо, особенно если учесть, что некоторую информацию (т.е. свойства объекта) нужно либо полностью пропустить, либо массировать (например, регистрировать только последние 4 цифры) кредитной карты, участвующей в транзакции).

Я больше думал о собственном "ITransactionLogger". Мысли? * * 1005

Ответы [ 3 ]

5 голосов
/ 16 ноября 2009

Я бы сказал, что вы проводите «аудит», а не «ведение журнала», поскольку вы производите данные, имеющие значение для бизнеса. Это подразумевает, что данные должны управляться, резервироваться и т. Д. Все то, что предоставляют вам базы данных. Для ясности я бы использовал отдельный API аудита.

3 голосов
/ 16 ноября 2009

Основная проблема, с которой я столкнулся в log4net, заключается в том, что вы можете контролировать выходную цель для регистрации через файл конфигурации. Если кто-то случайно или преднамеренно изменит этот файл конфигурации, будут представлены конфиденциальные финансовые данные.

Я обычно большой поклонник не изобретать колесо, но в этом случае вам нужно решение для ведения журнала, которое имеет минимальные точки конфигурации и жесткий контроль.

1 голос
/ 16 ноября 2009

Вы можете создать собственный форматировщик для конкретного объекта / исключения в log4net. Я бы попробовал это сделать для записи объектов транзакции, в которых конкретно не указаны данные кредитной карты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...