Poco използва грешна часова зона

В момента използвам библиотеката Poco Logger в някакъв c++ код. Работи на сървър в САЩ, но въпреки че системното време там е правилната часова зона, регистрационните файлове отпечатват времеви клейма като GMT.

Това конфигурируема настройка на 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