Предопределенные макросы С++. __FILE__ и подобные

программирование windows C++ С++

Есть легаси проект, состоящий из более чем 3 сотен аплетов (exe). Все аплеты пишут логи в одно место, при помощи одной и той же библиотечной функции log(char * msg);
читать логи потом сплошной ад - непонятно кто что пишет. Хочется в логах как-то отслеживать авторство.

Первая мысль - в каждом вызове дописать конкатенацию сообщения макросом __FILE__, но учитывая количество файлов (более 300) и количество вызовов в каждом (10-100) это не кажется хорошей идеей.

Хочется как-то модифицировать саму функцию log, чтобы она сама дописывала какой-то идентификатор. Собственно сам вопрос:

Можно ли в С++, конкретно в диалекте MSVC++ 2005 внутри функции определить откуда ее вызвали или название проекта, в который она вкомпилирована?

Или может быть кто-нибудь подскажет другой вариант?

PS проект еще развивается, кроме меня его пилят еще несколько кодеров
Ответы:
>Или может быть кто-нибудь подскажет другой вариант?
Маленький лог-сервер в виде процесса или службы. Удобно во всех смыслах, за исключением того, что его ещё надо реализовать. :) Но учитывая то, что писать в журнал нужно аж >300м апплетам, не думаю, что написание этого лог-сервера выйдет за рамки проекта.


11 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.