IntelliJ консолдық шығарылымында басылатын класстың аттары болуы мүмкін бе?

IntelliJ ішіндегі серверді іске қосқанда, экранның төменгі жағындағы терезеде консоль шығаруын көруге болады.

IntelliJ класс атауларын танитын және оларды басуға болатындай етіп шығарды пішімдеудің кез-келген жолы бар ма? Содан кейін сервердің атауында сынып атауын көргенде, мен оны баса отырып, тікелей барамын.

Спасибо :)

10

4 жауаптар

IntelliJ 14 және IntelliJ параметрлері арқылы қазудың баламасы бойынша, кейбір сынақтар мен қателіктер паттернмен кез келген нәрсені көрсетті

(anyfile.ext:line)

консольдегі кем дегенде бір . дегенге дейін осы атымен белгілі кез келген файл болса, файл сілтемесіне айналады. . (Whatever.java:55) , жұмыс кеңістігіндегі кітапханаларды қоспағанда.

Мен логинімді қолданамын. Менің сыныптарыма сілтемелер алу үшін менің logback.xml-дегі ең болмағанда менің хабар үлгісіне қосылды

.\(%class{0}.java:%line\)
  • .\( \) -> A dot must precede the filename:line pattern and the filename:line pattern enclosed in parentheses. Logback requires literal parentheses to be escaped in this case.
  • %class{0} -> Just the classname without a package
  • .java -> So that it matches the complete filename
  • :%line -> Is the logging line of code

Іс жүзінде, (filename: line) бөлігінен бұрын кем дегенде бір . кіретін басқа да нәрселер бар, сондықтан ол IntelliJ-де таңдалады.

%highlight(%-5level) %d{yyyy-MM-dd'T'HH:mm:ss.SSS} %yellow([%thread]) %blue(%logger{36}\(%class{0}.java:%line\)) %msg%n
21
қосылды
% file де ішкі сыныптар мен ламбдалар үшін жақсы жұмыс істейді.
қосылды автор Thorbjørn Ravn Andersen, көзі
Ескерту: Үлгі (* *) осы сілтемеден бұрын алдында көрінбеуі керек, әйтпесе сілтеме орнатылмайды. Сонымен қатар, егер мұндай сілтемеден кейін \ s үлгісі пайда болса, сілтеме көрсетілмейді.
қосылды автор Mikaël Mayer, көзі
Алдыңғы . , кем дегенде Android Studio 3.0 нұсқасында және IntelliJ ұқсас нұсқаларында қажет емес сияқты.
қосылды автор Nohus, көзі
Бұл ретте сіз өзіңіздің сыныптарыңыз үшін тек қана басылатын сілтемелерді ала аласыз, кез келген сыныпты басу үшін үлгі соңында% caller {1} қосуды қалаймын.
қосылды автор Gaël Marziou, көзі
Рахмет, керемет табу!
қосылды автор Hejazi, көзі
Өзіне ескерту: Logback% файлында .java ішінде аяқталмаған файлдар үшін табиғи түрде жұмыс істейтін болады (мысалы, kotlin үшін .kt). % blue (% logger {36} \ (% file:% line) дегенмен % blue (% logger {36} \ (% class {0} .java:% line \)) \))
қосылды автор Jason Dunkelberger, көзі
Спасибо, рахмет, рахмет көп !!!!!!!
қосылды автор varantes, көзі

There is. Taken from online help http://www.jetbrains.com/idea/webhelp/setting-log-options.html

Егер сіз үшінші тараптың тіркеу құралдарын қолданып жатсаңыз, оны жасағыңыз келуі мүмкін   бастапқы кодқа арналған стандартты байланысқа ұқсас болып табылатын хабардың шығарылымы   stacktrace желісі үшін (at   (:)).   Ол үшін log.xml файлына нақты түрлендіру үлгісін қосу керек   конфигурациялық файл. Мысалы, log4j түрлендіру үлгісінде бұл   

болар еді

Дегенмен, шығарылатын өнім толықтай жарамды атаулармен, әдіс атауларымен және т.б.

6
қосылды
Ресми құжаттама ең төменгі (бұл жерде маңызды болуы мүмкін)
қосылды автор Thorbjørn Ravn Andersen, көзі

@ JasonDunkelberger жауабын аяқтау үшін, қателер мен сынақтардан кейін, Intellij гиперсілтемелерді қайда орналастыруды табуды талдайтын болса,

(at )?+.*\..*\(.*?\)

@ JasonDunkelberger жауабында, кейбір жағдайларда сілтемеден кейін жақшалар болғанда немесе екі әріптен «егер» сілтемесі белсендірілмесе.

0
қосылды

Шын мәнінде нәрселер жасау үшін сізге толық стейктураның белгілерін сақтау қажет. Жай ғана нүктесін қою үшін жеткіліксіз сияқты «.» жақшалар алдында. Егер сізде бірдей атпен, бірақ әртүрлі пакеттермен екі сынып бар болса, IntelliJ бірінші табылғанды ​​таңдайды. Бұл жұмысты алу үшін дәл осы жағдайда тіпті жазу керек

fullyqualifiedclassname + «.» + methodname + «(» + simpleclassname + «.java:» + linenumber + «)»

Егер сіз «1: 1» жолын пайдаланып, жол нөмірін білмесеңіз, мен үшін жұмыс істеді

0
қосылды