Nano Hash - криптовалюты, майнинг, программирование

Переключение между конфигурациями log4j

Я только что реализовал профили Spring, в моем web.xml я добавил профиль по умолчанию:

<context-param>
    <param-name>spring.profiles.default</param-name>
    <param-value>prod</param-value>
</context-param>

и в моем applicationContext.xml теперь я могу легко переключаться между используемым файлом конфигурации:

 <beans profile="dev">
        <context:property-placeholder location="classpath*:META-INF/spring/dev.properties"/>
    </beans>
    <beans profile="prod">
        <context:property-placeholder location="classpath*:META-INF/spring/prod.properties"/>
    </beans>

и я сделал mvn jetty:run всегда использовать профиль разработчика:

<plugin>
    <groupId>org.eclipse.jetty</groupId>
    <artifactId>jetty-maven-plugin</artifactId>
    <version>9.2.10.v20150310</version>
    <configuration>
        <webAppConfig>
            <contextPath>/${project.artifactId}</contextPath>
            <sessionHandler implementation="org.eclipse.jetty.server.session.SessionHandler">
            <sessionManager implementation="org.eclipse.jetty.server.session.HashSessionManager">
            <!-- Disable url sessions using JSessionID -->                                              
            <sessionIdPathParameterName>none</sessionIdPathParameterName>
            </sessionManager>
            </sessionHandler>
        </webAppConfig>
        <httpConnector>
            <port>9091</port>
        </httpConnector>
            <systemProperties>
                <systemProperty>
                <name>spring.profiles.active</name>
                <value>dev</value>
            </systemProperty>
        </systemProperties>
    </configuration>
</plugin>

Как бы я переключался между различными конфигурациями log4j?

Я использую sl4j с log4j:

    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.17</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>${slf4j.version}</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>jcl-over-slf4j</artifactId>
        <version>${slf4j.version}</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>${slf4j.version}</version>
    </dependency>

В dev я захожу в stdout, а в продакшене я захожу в оба stdout и queue (очередь — rabbitMQ)?

Очевидно, что Spring еще не загружен, когда запускается log4j (не каламбур), поэтому кажется, что профили Spring отсутствуют.

Как я могу легко переключаться между различными конфигурациями log4j - log4j-dev.properties и log4j-prod.properties

14.05.2015


Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

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

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..