Я писал код для нашего продукта, и у меня возникла архитектурная проблема.У нас есть два исполняемых файла командной строки, написанные на C ++ для Window, называющие их Foo и Bar, которые зависят от DLL, которую мы назовем Core.Я хочу войти изнутри Core.
Вопрос в том, где эти записи должны заканчиваться?Если я запускаю Foo, я хочу видеть их в Foo.log, а если я запускаю Bar, они должны быть в Bar.log.Что если я запустил Foo и Bar одновременно, что тогда?(Я думаю, что я уже отсортировал случай, когда запущено несколько копий Foo или Bar, эффективно блокируя файл журнала).
Одна мысль состоит в том, что Core может хранить список «всех регистраторов, которые мне нужно вызывать, когдакто-то делает запрос на регистрацию ".Это подразумевает, что существует совершенно новый API для записи, и что регистрация в DLL записывается иначе, чем в exe или статических библиотеках.Это не идеально.Возможно, я даже не знаю, где заканчивается код, если он находится в lib!
Я смотрел на log4cplus и ускорял ведение журнала, но не могу понять, как это будет работать с этими компонентами, поэтомуЯ немного застрял на идеях.Это, безусловно, решенная проблема, хотя?!