Как отключить ведение журнала java ortools CP solver? - PullRequest
3 голосов
/ 03 июня 2019

Контекст: я использую java or-tools для проблемы CP (из пакета решателя ограничений). Проблема: Я хочу, чтобы эти распечатки / журналы исчезли.Они выглядят так:

[11:29:43] ./ortools/constraint_solver/search.cc:240: Start search (memory used = 5,28 GB)
[11:29:43] ./ortools/constraint_solver/search.cc:240: Start search (memory used = 5,28 GB)
[11:29:43] ./ortools/constraint_solver/search.cc:240: End search (time = 2 ms, branches = 0, failures = 1, memory used = 5,28 GB, speed = 0 branches/s)
[11:29:43] ./ortools/constraint_solver/search.cc:240: End search (time = 3 ms, branches = 0, failures = 1, memory used = 5,28 GB, speed = 0 branches/s)
[11:29:43] ./ortools/constraint_solver/search.cc:240: Start search (memory used = 5,28 GB)

Хотя это мой файл log4j2.xml:

<configuration status="OFF">
    <appenders>
        <Console name="Console" target="SYSTEM_OUT">
            <PatternLayout pattern="[%d{yyyy.MM.dd HH:mm:ss.SSS}][%t] [%-5level] [%logger{36}] - %msg%n%xException"/>
        </Console>

        <RollingFile name="RollingFile" fileName="./../../logs/raptor-engine-tests.log" filePattern="./../../logs/raptor-engine-tests-%d{MM-dd-yyyy}.log.gz" ignoreExceptions="false">
            <PatternLayout pattern="[%d{yyyy.MM.dd HH:mm:ss.SSS}][%t] [%-5level] [%logger{36}] - %msg%n%xException"/>
            <TimeBasedTriggeringPolicy/>
        </RollingFile>
    </appenders>

    <loggers>
        <logger name="akka" level="info"/>
        <Logger name="org.hibernate" level="info"/>
        <Logger name="com.google.ortools" level="info"/>

        <!-- levels: trace, debug, info, warn, error, fatal -->
        <root level="info">
            <appender-ref ref="Console"/>
            <appender-ref ref="RollingFile"/>
        </root>
    </loggers>

</configuration>

Кто-нибудь сталкивался с этой проблемой?И как ты это решил?Это как регистратор "com.google.ortools" полностью игнорируется.

Ответы [ 2 ]

3 голосов
/ 03 июня 2019

Вы используете библиотеку маршрутизации?или непосредственно CP solver?

В первом случае должен быть параметр для управления журналированием: https://github.com/google/or-tools/blob/f3fd201e68cf75b7720ff5c3cadc599a1d02b54b/ortools/constraint_solver/routing_parameters.proto#L376

Во втором случае это происходит, только если вы создаете объект журнала поискаи используйте его при поиске.

Теперь эти журналы генерируются кодом C ++, поэтому регистратор ничего не будет делать.

1 голос
/ 03 июня 2019

Спасибо!Вы решили мою проблему!Выглядело это так:

//      // Search log
val kLogFrequency = 1000000
val searchLog     = makeSearchLog(kLogFrequency, objectiveMonitor)

Я работаю в Scala.Помощь с благодарностью!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...