GWT Framework Включить журналы консоли - PullRequest
0 голосов
/ 13 июня 2018

Я новичок в GWT Framework, который сейчас использует мой проект.Я хотел отследить поток кода и, следовательно, подумал, что могу поместить журналы System.out или журналы отладки.Но ничего не сработало.Затем я зашел на эту страницу и увидел ее полную сеть регистрации.Я добавил,

Debug.Java

public class Debug {
private static boolean isEnabled_ = false;
public static void enable() { isEnabled_ = true; }
public static void setEnabled( final boolean isEnabled ) 
{ isEnabled_ = isEnabled; }

public static void log( final String s ) 
{ if( isEnabled_ ) nativeConsoleLog( s ); }

private static native void nativeConsoleLog( String s ) 
/*-{ console.log( s ); }-*/;
}

и вызвал внутри моего класса

Frame.java

public void onModuleLoad() {

    logSC("@@@@ onModuleLoad");

     Debug.enable();


    Debug.log("&&&&&&&INSIDE BICC******DEBUG LOGGERRRRRRRRR**************************");
}

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

С уважением, Саранья Чандрасекаран

Ответы [ 4 ]

0 голосов
/ 23 июня 2018

Это неправильный способ ведения журнала в GWT, GWT уже позволяет вам использовать ведение журнала Java в браузере, поэтому, чтобы включить ведение журнала Java, необходимо выполнить следующие шаги: 1 - наследовать модуль ведения журнала Java, добавив <inherits name="com.google.gwt.logging.Logging"/> в файл XXX.gwt.xml, это включит ведение журнала.

2 - включите консольный регистратор, добавив:

<set-property name="gwt.logging.logLevel" value="INFO"/>

<set-property name="gwt.logging.enabled" value="TRUE"/>

<set-property name="gwt.logging.consoleHandler" value="ENABLED"/>

- это значение по умолчанию.

тогда вы можете определить обычный java logger следующим образом

public static final Logger LOGGER = Logger.getLogger(MyClass.getName());
//use the logger
LOGGER.log(Level.info, "my log message");

этот вид регистрации будет работатьдаже в производственном режиме и приводят к увеличению размера файла JavaScript после компиляции.любые операторы журнала, которые не соответствуют уровню журнала, определенному в файле XXX.gwt.xml, будут удалены из окончательного результата компиляции.

другой способ ведения журнала для режима разработки или режима Super dev - использовать GWT.log этот тип ведения журнала будет работать только для режимов разработки, но будет удален при производственной компиляции.

Для получения дополнительной информации по этой теме вы можете обратиться на веб-сайт gwtproject

вы также можете запросить в gwt-users google group

или вы можете запросить в gwt gitter channel о живом интерактивном чате

0 голосов
/ 22 июня 2018

Смотрите здесь решение для использования каркаса gwt log:

gwt logging не работает

Используется java.util.log

0 голосов
/ 22 июня 2018

Вам нужно добавить файл gwt.xml, чтобы включить его

<set-property name="gwt.logging.enabled" value="TRUE" />
0 голосов
/ 14 июня 2018

Для вызова console.log в вашем JSNI требуется префикс $wnd., чтобы он выполнялся в правильном окне (по умолчанию gwt помещает свой код в песочницу в iframe).

private static native void nativeConsoleLog( String s ) /*-{
    $wnd.console.log( s ); 
}-*/;

Обратите внимание, что при использовании JsInterop этой проблемы не возникнет - добавьте elemental2-core в ваш проект и вызовите DomGlobal.console.log(), и он уже будет работать в главном окне.

...