|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
11.08.2019, 21:00 | #1 |
Новичок
Джуниор
Регистрация: 11.08.2019
Сообщений: 1
|
Логгер сообщений - ООП
Всем привет! Помогите пожалуйста решить задачу)
Необходимо написать логгер сообщений с возможностью "схлопывания" групп сообщений в "блоки" Доступные методы: 1) message(string $msg) // логирует сообщение 2) beginBlock(string $blockName) // открывает блок сообщений и делает его текущим 3) endBlock() // закрывает текущий блок сообщений Требования к логгеру: 1) Хранить данные оптимально, без копирования массивов. 2) Вложенность блоков не ограничена 4) Использовать указатели везде где это возможно Пример кода: $logger = new Logger(); $logger->message("begin"); $logger->beginBlock("block1"); $logger->message("msg1") $logger->message("msg2"); $logger->beginBlock("inheritedBlock"); $logger->message("inhMsg1"); $logger->beginBlock("inheritedBlock2"); $logger->message("deepMessage"); $logger->endBlock(); // closes "inheritedBlock2" $logger->message("inhMsg2"); $logger->endBlock(); // closes "inheritedBlock" $logger->message("msg3"); $logger->endBlock(); // closes "block1" $logger->message("end"); $result = $logger->getMessages(); Ожидается, что переменная $result будет содержать следующее: [ "begin", [ "name": "block1", "messages": [ "inhMsg1", [ "name": "inheritedBlock2", "messages": ["deepMessage"] ], "inhMsg2" ], "msg3" ], "end" ] На данный момент сделано только это: class Log { static private $fplog; public static function message($msg) { $flogname = 'log.txt'; self::$fplog = fopen($flogname,'ab'); $time = '['.date('Y-m-d H:i:s').'] '; fwrite(self::$fplog,$time . strval($msg) . "\n"); fclose(self::$fplog); } } |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Логгер TIdMappedPortTCP. | AndyJOKER | C++ Builder | 1 | 23.01.2017 09:04 |
Посоветуйте логгер | Tahoma | Visual C++ | 4 | 06.03.2016 22:44 |
[вопрос] Логгер в thread | Tahoma | Win Api | 1 | 03.03.2016 08:52 |
Сбор сообщений службы сообщений Windows XP | testor48 | Работа с сетью в Delphi | 3 | 31.03.2011 20:20 |
Перехват сообщений от Службы сообщений (Messenger) | SJMS | Win Api | 6 | 17.07.2008 10:26 |