В памяти 'перечисляют appender' для log4j

Python не является инструментом, в котором Вы нуждаетесь

, необходимо использовать правильный инструмент, чтобы сделать правильную вещь, и Python не был разработан, чтобы быть запутанным. Это - обратное; все открыто или легко показать или изменить в Python, потому что это - философия языка.

, Если Вы хотите что-то, которое Вы не видите через, ищите другой инструмент. Это не плохая вещь, важно, чтобы несколько различных инструментов существовали для различных использований.

Путаница действительно трудна

, Даже скомпилированные программы могут быть перепроектированы, так не думайте, что можно полностью защитить любой код. Можно проанализировать запутываемый PHP, повредить ключ шифрования флэш-памяти и т.д. Более новые версии Windows взламываются каждый раз.

Наличие законного требования является хорошим способом пойти

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

защита Кода переоценена

В наше время, бизнес-модели имеют тенденцию идти для продажи услуг вместо продуктов. Вы не можете скопировать сервис, пирата, ни украсть его. Возможно, пора рассмотреть для движения с потоком...

7
задан Simulant 11 March 2013 в 22:52
поделиться

2 ответа

Существует MemoryAppender , но он не является частью стандартной библиотеки log4j.

Вы можете легко написать свой собственный, но если вы используете их только для модуля тесты Я бы, вероятно, издевался над Регистратором и утверждал, что к нему не обращаются. Переопределите метод getLogger () в целевом классе или установите фиктивный регистратор непосредственно для типа.

Использование Jmock (пример из памяти, извините за любые ошибки):

public void testDoFoo() {
    Mockery mockery = new Mockery();
    Logger mockLogger = mockery.mock(Logger.class);

    Foo foo = new Foo();

    foo.setLogger(mockLogger);

    mockery.checking(new Expectations() {
        {
            never(mockLogger).debug(with(any(String.class));
        }
    };

    ...
    //do the actual test.

    //assert the mock type has never been called.
    mockery.assertIsSatisfied();
}
3
ответ дан 7 December 2019 в 14:36
поделиться

Я не верю, что есть. Однако вы можете легко написать свой собственный. Вот подходящее руководство .

1
ответ дан 7 December 2019 в 14:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: