Re: Логгинг
От: remark Россия http://www.1024cores.net/
Дата: 02.04.06 01:02
Оценка:
Здравствуйте, Константин Ленин, Вы писали:

КЛ>Решил тут логгинг переделать.Старый был неудобен и основывался на макросах.


КЛ>Кое-что получилось . Хочу послушать мнения по поводу пригодности.



По поводу потокового синтаксиса — согласен полностью.

В конце каждого вывода хотелось бы видеть автоматическое добавление перевода строки. По крайней мере я привык к такой фиче — не жаловался ни разу.

Не согласен по поводу:


        template <typename T>
        void AppendRecord( const T& record )
        {
            pBuffer_->Append(record);
            pBuffer_->Append(_T(". "));
        }

        template <typename T>
        LogEntry operator <<( const T& value )
        {            
            AppendRecord(value);
            return *this;
        }


Не понятно как расширять логирование для пользовательских типов?


Зачем в LogEntry секция protected? И зачем в нём динамическое создание pBuffer_?


Полностью не согласен по поводу:

ConsoleLogger::log(LogInfo)<<_T("xaxaxaxxaxaxxax..")<<_T("suxx...");



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



1024cores &mdash; all about multithreading, multicore, concurrency, parallelism, lock-free algorithms
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.