Сценарий для преобразования log4j.properties в log4j.xml

Из соображений безопасности Firefox не позволяет Вам помещать текст в буфер обмена. Однако существует обходное решение доступный Flash использования.

function copyIntoClipboard(text) {

    var flashId = 'flashId-HKxmj5';

    /* Replace this with your clipboard.swf location */
    var clipboardSWF = 'http://appengine.bravo9.com/copy-into-clipboard/clipboard.swf';

    if(!document.getElementById(flashId)) {
        var div = document.createElement('div');
        div.id = flashId;
        document.body.appendChild(div);
    }
    document.getElementById(flashId).innerHTML = '';
    var content = '';
    document.getElementById(flashId).innerHTML = content;
}

единственный недостаток - то, что это требует, чтобы Flash был включен.

источник в настоящее время мертв: http://bravo9.com/journal/copying-text-into-the-clipboard-with-javascript-in-firefox-safari-ie-opera-292559a2-cc6c-4ebf-9724-d23e8bc5ad8a/ (и так, это кэш Google )

14
задан sbrian 13 December 2009 в 21:50
поделиться

3 ответа

Вот кое-что, что может вам помочь. Ceki Gülcü, создатель log4j, начал другой проект регистратора под названием logback , и он предоставляет онлайн-переводчик для файлов log4j.properties в файлы конфигурации xml для возврата. Похоже, что схемы конфигурационных файлов log4j.xml и logback.xml довольно близки.

По крайней мере, он должен создавать что-то, что можно легко преобразовать в формат log4j.xml.

Для вашего удобства: вот образец log4j.properties из документации log4j. Просто вставьте его в переводчик и проверьте вывод:

log4j.rootLogger=debug, stdout, R

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

# Pattern to output the caller's file name and line number.
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n

log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=example.log

log4j.appender.R.MaxFileSize=100KB
# Keep one backup file
log4j.appender.R.MaxBackupIndex=1

log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
4
ответ дан 1 December 2019 в 12:13
поделиться

Предположительно у вас должно быть много файлов свойств, которые нужно преобразовать. Когда я хотел перейти на xml (много лет назад), я не мог найти много документации. Я нашел образцы XML-файлов в дистрибутиве log4j, которые оказались очень полезными.

0
ответ дан 1 December 2019 в 12:13
поделиться

Если вы собираетесь работать с одним и тем же файлом таким же образом (при поиске текста в определенной строке), вы можете проиндексировать файл. Номер линии - > смещение.

-121--2556882-

Не то, что мне известно.

Имейте в виду, что нет никакой конкретной индексации файлов относительно того, где начинается строка, так что любой метод утилиты будет точно таким же эффективным, как

BufferedReader r = new BufferedReader(new FileReader(file));
for (int i = 0; i < lineNumber - 1; i++)
{
   r.readLine();
}
return r.readLine();

(с соответствующей логикой обработки ошибок и закрытия ресурсов, конечно).

-121--2556876-

Мне тоже нужно было это сделать, но не удалось найти инструмент. Миграция вручную десятков log4j.properties не была приятным вариантом. Таким образом, я стучал вместе инструмент, который может сделать это и выпустил его для других использовать.

http://code.google.com/p/log4j-properties-converter/

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

20
ответ дан 1 December 2019 в 12:13
поделиться
Другие вопросы по тегам:

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