JavaRush /Java блогы /Random-KK /Біз журналды JavaRush жобамызға қосамыз (slf4f және log4j...
Дмитрий Яковенко
Деңгей
Москва

Біз журналды JavaRush жобамызға қосамыз (slf4f және log4j)

Топта жарияланған
Мавенді JavaRush жобаңызға қалай қосу керектігін менің осы мақаламнан оқи аласыз . Төменде сіз мұны қалай істеу керектігін білесіз деп болжайды. Егер біз slf4j қолданғымыз келсе, онда бізге тәуелділік қажет:
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.7.30</version>
</dependency>
Осыдан кейін біз:
public static void main(String[] args) throws IOException {
    Logger logger = LoggerFactory.getLogger(Solution.class);
    logger.info("hello world!");
}
Және біз қатені аламыз:
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Бұл жалпы логикалық. slf4j - орауыш, бірақ біз оны немен орап қойдық? Ештеңе емес пе? Бізде қате бар. Сіз оны келесілердің біріне айналдыра аласыз: log4j, util.logging, NOP, System.err, JCL, кері кіру. Толық мәліметтер бастапқы нұсқауларда . Log4j және System.err мысалын қарастырайық: 1) Қарапайымнан бастайық, System.err . Ол үшін алдыңғы тәуелділікке (slf4j-api) осы (slf4j-қарапайым) қосыңыз.
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-simple</artifactId>
    <version>1.7.30</version>
</dependency>
Біз бірдей нұсқаларды аламыз, 2021 жылдың 10 мамырындағы жағдай бойынша бұл 1.7.30. Егер сіз https://mvnrepository.com/ сайтынан тәуелділіктерді алсаңыз , жоюды ұмытпаңыз
<scope>test</scope>
Әйтпесе, журналдар тек сынақтарда жұмыс істейді. 2) Енді log4j параметрін конфигурациялауға тырысайық , ол үшін бізге 2 тәуелділікті қосу керек: log4j өзі және slf4j және log4j (slf4j-log4j12) арасындағы қабат. Бұл келесідей көрінеді:
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    <version>1.7.30</version>
</dependency>
<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.17</version>
</dependency>
slf4j қай тіркеушімен жұмыс істеу керектігін білмеуі үшін (slf4j-қарапайым) жою керек екені анық. Және (slf4j-api) қалдырыңыз, себебі бұл slf4j. Қосылған 2 тәуелділікке қатысты. log4j біз ескісін қосып жатырмыз (2012 жылдың мамырынан бастап, неге екенін білмеймін, сіз басқалармен тәжірибе жасай аласыз). Оның нұсқасы 1.2.17. slf4j онымен жұмыс істеу үшін сізге сәйкес қабат қажет - slf4j-log4j12, онда соңғы таңбалар (12) log4j нұсқасын білдіреді. Бұл жағдайда slf4j-api және slf4j-log4j12 нұсқасы 1.7.30 болуы керек - қазіргі уақытта ең соңғы тұрақты. Тәуелділіктерді қосып, Maven жобасын жаңартқаннан кейін. log4j жұмыс істеуі үшін сізге тағы 2 нәрсе қажет: 1) Конфигурация файлын орнатыңыз. Біз оқимыз, таңдаймыз, көшіреміз. 2) Жұмыс алдында log4j конфигурациясын оқыңыз:
PropertyConfigurator.configure("d:\\Java\\JavaRushTasks\\4.JavaCollections\\log4j.properties");
Немесе файл қайда бар. Барлық журналдарды көргіңіз келсе, тіркеу деңгейін БАРЛЫҚ етіп орнатуды ұмытпаңыз. Біз түйіндемеге қосамыз - log4j & slf4j. Сіз кереметсіз! Егер бұл көмектессе - лайк басыңыз, жазылыңыз, қоңырау шалыңыз!)))
Пікірлер
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION