Poco использует неправильный часовой пояс

В настоящее время я использую библиотеку Poco Logger в некотором коде С++. Он работает на сервере в США, но, несмотря на то, что системное время соответствует часовому поясу, файлы журналов печатают метки времени по Гринвичу.

Это настраиваемый параметр Poco или системный параметр, который мне нужно найти? Нигде не могу найти ответ!

Возможно полезный вывод ниже.

Пример файла журнала: 2013-04-03 11:49:32.862 GMT[31015]:Debug:...
Строка формата файла журнала: pattern = "%Y-%m-%d %H:%M:%S.%i %Z[%P]:%p:%t"

Выход из /etc/sysconfig/clock:

ZONE="America/Los_Angeles"
UTC=true
ARC=false

Выход из date: Wed Apr 3 04:57:44 PDT 2013
Выход из echo $TZ: America/Los_Angeles

Любые идеи с благодарностью!


person shearn89    schedule 03.04.2013    source источник


Ответы (2)


Класс Poco::PatternFormatter имеет свойство «times», для которого можно установить значение «UTC» (по умолчанию) или «local» (то, что вы ищете). Вы можете установить это в файле конфигурации, но вам придется явно определить средство форматирования:

logging.channels.c1.class = FileChannel
logging.channels.c1.path = ${system.tempDir}/sample.log
logging.channels.c1.formatter.class = PatternFormatter
logging.channels.c1.formatter.pattern = %Y-%m-%d %H:%M:%S.%i %Z[%P]:%p:%t
logging.channels.c1.formatter.times = local

Если вы создаете средство форматирования программно, используйте метод setProperty():

pPatternFormatter->setProperty("times", "local");

См. также: http://pocoproject.org/slides/185-LoggingConfiguration.pdf

person Günter Obiltschnig    schedule 03.04.2013

В случае, если кто-то использует конфигурацию xml:

<?xml version="1.0" ?>
<Application>
  <logging>
    <channels>
      <logFileChannel>
        <class>FileChannel</class>
        <path>logs/application.log</path>
        <rotation>1 M</rotation>
        <archive>timestamp</archive>
        <compress>true</compress>
        <purgeCount>60</purgeCount>
        <formatter>
          <class>PatternFormatter</class>
          <pattern>%Y-%m-%d %H:%M:%S %p %s [%T] - %t</pattern>
          <times>local</times>
        </formatter>
      </logFileChannel>
    </channels>

    <loggers>
      <root>
        <name></name>
        <channel>logFileChannel</channel>
        <level>debug</level>
      </root>
    </loggers>
  </logging>
</Application>
person James Selvakumar    schedule 25.06.2019