Регистрация данных XML в файле журнала XML - PullRequest
2 голосов
/ 12 июля 2010

Мне нужно зарегистрировать некоторые данные XML (которые в настоящее время являются документом JDOM), и я пытаюсь вывести их в стандартный журнал Java.Однако при этом будут создаваться журналы только с концами <и> тегов, перекодированных как &lt;? ?&gt; и т. Д.

Хотя это можно проанализировать для получения правильной информации, это делает файл журнала фактически нечитаемым.Кто-нибудь может помочь с лучшим решением для этого?Я прочитал несколько постов по этому вопросу, но никто, кажется, не придумал ответ - однако, если я пропустил ответ, пожалуйста, направьте меня к нужному посту!

Текущий код: упрощенный случай для демонстрации того, что не работает, удаление переноса документа в XML (что может быть успешно выполнено с использованием XMLOutputter().outputString(document)).


try {
    Logger logger = Logger.getLogger("companyname");

    FileHandler fh = new FileHandler("log.log");
    fh.setEncoding("UTF-8");

    logger.addHandler(fh);
    logger.setLevel(Level.ALL);

    String message = "<tag>Some Text</tag>";
    Logger.getLogger("companyname").log(Level.CONFIG, message);
}
catch (IOException e) {
    e.printStackTrace();
}   

1 Ответ

2 голосов
/ 12 июля 2010

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

Думать о вещах по-другому: предположим, что вы записали в строку, которая, как оказалось, содержит только «<» - вы действительно хотите, чтобы файл журнала стал недействительным документом XML? </p>

...