<center id="vws9c"></center>
<dfn id="vws9c"></dfn>

<nobr id="vws9c"></nobr>
  • <nobr id="vws9c"></nobr>
    亚洲精品久久久无码一区二区,日本黄色小说,亚洲免费v片,国产美女精品网站,人妻体内射精一区二区,狠狠躁夜夜躁人人爽天天,国产精品一二三中文字幕,成年入口无限观看免费完整大片

    Springboot2 集成log4j2

    在任何定制系統開發(fā)過程中,健全的日志系統是調試、運維、追查故障的重要保障,因為log4j頻頻爆出漏洞,魁鯨科技目前主要使用log4j2這個組件替代

    基礎步驟

    • Spring Boot默認使用的是logback框架,因此需要排除spring-boot-starter-logging
    • 然后引入log4j2框架
    • 配置文件設置使用log4j2的配置路徑
    • 程序代碼種使用日志門面slf4j框架打印日志。

    修改pom.xml文件

    spring-boot-starter-web種排除默認的logging包

    <!-- springboot dependencies -->
              <dependency>
                  <groupId>org.springframework.boot</groupId>
                  <artifactId>spring-boot-starter-web</artifactId>
                  <version>${spring-boot-starter.version}</version>
                  <exclusions>
                      <exclusion>
                          <groupId>org.springframework.boot</groupId>
                          <artifactId>spring-boot-starter-logging</artifactId>
                      </exclusion>
                  </exclusions>
              </dependency>

    通過依賴樹排除第三方的框架內對logback等沖突包的依賴
    Springboot2 集成log4j2

    Springboot2 集成log4j2

    找到并排除

    Springboot2 集成log4j2

    在resource目錄下新增log4j2的配置文件

    <?xml version="1.0" encoding="UTF-8"?> <!--日志級別以及優(yōu)先級排序: OFF > FATAL > ERROR > WARN > INFO > DEBUG > TRACE > ALL --> <!--Configuration后面的status,這個用于設置log4j2自身內部的信息輸出,可以不設置,當設置成trace時,你會看到log4j2內部各種詳細輸出--> <!--monitorInterval:Log4j能夠自動檢測修改配置 文件和重新配置本身,設置間隔秒數-->
    <configuration status="WARN" monitorInterval="30">  <!-- 配置日志文件輸出目錄,此配置將日志輸出到tomcat根目錄下的指定文件夾 -->
        <properties>
            <property name="LOG_HOME">./WebAppLogs/logs</property>
        </properties>
        <!--先定義所有的appender-->
        <appenders>    <!-- 優(yōu)先級從高到低分別是 OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL -->
            <!-- 單詞解釋: Match:匹配 DENY:拒絕 Mismatch:不匹配 ACCEPT:接受 -->
            <!-- DENY,日志將立即被拋棄不再經過其他過濾器; NEUTRAL,有序列表里的下個過濾器過接著處理日志; ACCEPT,日志會被立即處理,不再經過剩余過濾器。 -->
            <!--輸出日志的格式     %d{yyyy-MM-dd HH:mm:ss, SSS} : 日志生產時間     %p : 日志輸出格式     %c : logger的名稱     %m : 日志內容,即 logger.info("message")     %n : 換行符     %C : Java類名     %L : 日志輸出所在行數     %M : 日志輸出所在方法名     hostName : 本地機器名     hostAddress : 本地ip地址 -->
            <!--這個輸出控制臺的配置-->
            <console name="Console" target="SYSTEM_OUT">      <!--輸出日志的格式-->
                <PatternLayout pattern="[%d{HH:mm:ss:SSS}] - [%t] [%p] - %logger{1.} - %m%n"/>
                <!--<PatternLayout pattern="[%d{HH:mm:ss:SSS}] - (%F:%l) - %m%n"/>-->
                <!--<PatternLayout pattern="[%d{HH:mm:ss:SSS}] (%F:%L) %m%n" />-->
            </console>
            <!-- 這個會打印出所有的info及以下級別的信息,每次大小超過size,則這size大小的日志會自動存入按年份-月份建立的文件夾下面并進行壓縮,作為存檔-->
            <!-- TRACE級別日志 ; 設置日志格式并配置日志壓縮格式,壓縮文件獨立放在一個文件夾內, 日期格式不能為冒號,否則無法生成,因為文件名不允許有冒號,此appender只輸出trace級別的數據到trace.log -->
    
            <RollingFile name="RollingFileTrace" immediateFlush="true" fileName="${LOG_HOME}/trace.log"
                         filePattern="${LOG_HOME}/trace_%d{yyyy-MM-dd-HH}-%i.log.zip">
                <ThresholdFilter level="trace" onMatch="ACCEPT" onMismatch="DENY"/>
    
                <PatternLayout pattern="[%d{HH:mm:ss:SSS}] - [%t] [%p] - %logger{36} - %m%n"/>
    
                <Policies>
                    <TimeBasedTriggeringPolicy interval="1" modulate="true"/>
    
                    <SizeBasedTriggeringPolicy size="10 MB"/>
    
                </Policies>
                <!-- DefaultRolloverStrategy屬性如不設置,則默認為最多同一文件夾下7個文件,這里設置了20 -->
                <DefaultRolloverStrategy max="20">
                    <!--這里的age必須和filePattern協調, 后者是精確到HH, 這里就要寫成xH, xd就不起作用           另外, 數字最好>2, 否則可能造成刪除的時候, 最近的文件還處于被占用狀態(tài),導致刪除不成功!-->
    
                    <Delete basePath="${LOG_HOME}" maxDepth="2">
                        <IfFileName glob="trace_*.zip"/>
                        <!-- 保存時間與filePattern相同即可 -->
                        <!-- 如果filePattern為:yyyy-MM-dd-HH:mm:ss, age也可以為5s,表示日志存活時間為5s -->
                        <IfLastModified age="168H"/>
    
                    </Delete>
    
                </DefaultRolloverStrategy>
    
            </RollingFile>
    
            <RollingFile name="RollingFileDebug" immediateFlush="true" fileName="${LOG_HOME}/debug.log"
                         filePattern="${LOG_HOME}/debug_%d{yyyy-MM-dd-HH}-%i.log.zip">
                <ThresholdFilter level="debug" onMatch="ACCEPT" onMismatch="DENY"/>
    
                <PatternLayout pattern="[%d{HH:mm:ss:SSS}] - [%t] [%p] - %logger{36} - %m%n"/>
    
                <Policies>
                    <TimeBasedTriggeringPolicy interval="1" modulate="true"/>
    
                    <SizeBasedTriggeringPolicy size="10 MB"/>
    
                </Policies>
    
                <DefaultRolloverStrategy max="20">
                    <Delete basePath="${LOG_HOME}" maxDepth="2">
                        <IfFileName glob="debug_*.zip"/>
    
                        <IfLastModified age="168H"/>
    
                    </Delete>
    
                </DefaultRolloverStrategy>
    
            </RollingFile>     <!-- info日志配置 -->
            <RollingFile name="RollingFileInfo" immediateFlush="true"
                         fileName="${LOG_HOME}/info.log"
                         filePattern="${LOG_HOME}/info_%d{yyyy-MM-dd-HH}-%i.log.zip">       <!--控制臺只輸出level及以上級別的信息(onMatch),其他的直接拒絕(onMismatch)-->
                <ThresholdFilter
                        level="info" onMatch="ACCEPT" onMismatch="DENY"/>
                <PatternLayout
                        pattern="[%d{HH:mm:ss:SSS}] - [%t] [%p] - %logger{36} - %m%n"/>
                <Policies>
                    <TimeBasedTriggeringPolicy interval="1" modulate="true"/>
    
                    <SizeBasedTriggeringPolicy size="10 MB"/>
    
                </Policies>
                <DefaultRolloverStrategy max="20">
                    <Delete basePath="${LOG_HOME}" maxDepth="2">
                        <IfFileName glob="info_*.zip"/>
    
                        <IfLastModified age="168H"/>
    
                    </Delete>
    
                </DefaultRolloverStrategy>
            </RollingFile>     <!-- warn日志配置 -->
            <RollingFile name="RollingFileWarn"
                         immediateFlush="true"
                         fileName="${LOG_HOME}/warn.log" filePattern="${LOG_HOME}/warn_%d{yyyy-MM-dd-HH}-%i.log.zip">
                <ThresholdFilter
                        level="warn" onMatch="ACCEPT" onMismatch="DENY"/>
                <PatternLayout
                        pattern="[%d{HH:mm:ss:SSS}] - [%t] [%p] - %logger{36} - %m%n"/>
                <Policies>
                    <TimeBasedTriggeringPolicy interval="1" modulate="true"/>
    
                    <SizeBasedTriggeringPolicy size="10 MB"/>
    
                </Policies>
                <DefaultRolloverStrategy max="20">
                    <Delete basePath="${LOG_HOME}" maxDepth="2">
                        <IfFileName glob="warn_*.zip"/>
    
                        <IfLastModified age="168H"/>
    
                    </Delete>
    
                </DefaultRolloverStrategy>
            </RollingFile>     <!-- error日志配置 -->
            <RollingFile
                    name="RollingFileError" immediateFlush="true"
                    fileName="${LOG_HOME}/error.log" filePattern="${LOG_HOME}/error_%d{yyyy-MM-dd-HH}-%i.log.zip">
                <ThresholdFilter
                        level="error" onMatch="ACCEPT" onMismatch="DENY"/>
                <PatternLayout
                        pattern="[%d{HH:mm:ss:SSS}] - [%t] [%p] - %logger{36} - %m%n"/>
                <Policies>
                    <TimeBasedTriggeringPolicy interval="1" modulate="true"/>
    
                    <SizeBasedTriggeringPolicy size="10 MB"/>
    
                </Policies>
                <DefaultRolloverStrategy max="20">
                    <Delete basePath="${LOG_HOME}" maxDepth="2">
                        <IfFileName glob="error_*.zip"/>
    
                        <IfLastModified age="168H"/>
    
                    </Delete>
    
                </DefaultRolloverStrategy>
            </RollingFile>
        </appenders>   <!--然后定義logger,只有定義了logger并引入的appender,appender才會生效-->
        <loggers>
            <!--過濾掉spring和mybatis的一些無用的DEBUG信息-->
            <logger name="org.springframework" level="INFO"/>
    
            <logger name="org.mybatis" level="INFO"/>
    
            <root level="all">
                <appender-ref ref="Console"/>
    
                <appender-ref ref="RollingFileDebug"/>
    
                <appender-ref ref="RollingFileTrace"/>
    
                <appender-ref ref="RollingFileInfo"/>
    
                <appender-ref ref="RollingFileWarn"/>
    
                <appender-ref ref="RollingFileError"/>
    
            </root>
    
        </loggers>
    </configuration>

    配置application.yml

    server:
      port: 8080
    spring:
      banner:
        charset: utf-8
    logging:
      level:
        # 根據不同的類設定不同級別
        root: info
        study.*: debug
        nobyte.*: debug
      config: classpath:log4j2-spring.xml
    

     

    使用slf4j打印

    package study.springboot.ioc;
    
    import lombok.extern.slf4j.Slf4j;
    import org.springframework.context.annotation.Lazy;
    import org.springframework.stereotype.Component;
    
    /**
     * CustomService
     *
     * @author linkanyway
     * @version 1.0
     * @date 2022/04/06 20:37
     */
    @Component("CustomService")
    @Slf4j
    public class CustomServiceImpl implements CustomService {
    
        /**
         * 構造器
         */
        public CustomServiceImpl() {
            log.debug ("CustomService被實例化,容器裝配制定了Lazy因此容器裝載時候不會立刻初始化,只有第一次調用才會初始化");
        }
    
        /**
         * 重載print方法
         */
        @Override
        public void print() {
        log.debug (this.getClass ().getCanonicalName ()+" 被調用了print方法");
        }
    }

     

    相關新聞

    • AI賦能醫(yī)藥健康 | 中國定制軟件助力通用技術中國醫(yī)藥打造醫(yī)藥數智化新標桿

      AI賦能醫(yī)藥健康 | 中國定制軟件助力通用技術中國醫(yī)藥打造醫(yī)藥數智化新標桿

      在數字中國戰(zhàn)略全面落地的今天,從新藥研發(fā)的“AI for Science”新范式,到臨床診療的精準化、智能化升級,再到醫(yī)藥流通與監(jiān)管的高效協同,AI已成為驅動行業(yè)高質量發(fā)展的核心引擎,人工智能正加速向千行百業(yè)滲透。尤其是在關乎國計民生的醫(yī)藥健康領域,AI不再只是一個技術概念,而成為推動產業(yè)升級、保障用藥安全、提升流通效率的核心引擎。 近日,中國軟件與通用技術中國醫(yī)藥強強聯手,以AI賦能醫(yī)藥全產業(yè)鏈,打造了一個從決策到執(zhí)行、從倉儲到配送全面數智化的醫(yī)藥行業(yè)新標桿,為“智慧醫(yī)藥”建設寫下了生動注腳。…

      新聞中心 2026-04-28
    • 進銷存系統軟件哪個好用

      進銷存系統軟件哪個好用

      作為長期服務企業(yè)數字化的一線顧問,我接觸過大量在進銷存選型中困惑的決策者。大家常問:“哪家最好?”我的經驗是,沒有普適的“第一”,只有最適合您業(yè)務基因的解決方案。選型失誤帶來的不僅是金錢損失,更是流程混亂與效率的內耗。 一、 市場格局分化:從通用工具到專業(yè)引擎 今天的進銷存市場已告別單一形態(tài)。傳統巨頭、垂直專家與靈活平臺構成了三大主力。以金蝶、用友為代表的綜合型廠商,其核心優(yōu)勢在于業(yè)財一體化的深度整合,確保業(yè)務流與資金流數據同源、實時同步,從根本上解決對賬難題。而像秦絲這樣的垂直類軟件,則深深扎…

    • 上海OA系統開發(fā):中小企業(yè)OA軟件定制開發(fā)有哪些優(yōu)劣勢?

      上海OA系統開發(fā):中小企業(yè)OA軟件定制開發(fā)有哪些優(yōu)劣勢?

      在數字化轉型浪潮中,辦公自動化(OA)該系統已成為提高企業(yè)管理效率和促進信息流通的重要工具。對于上海乃至全國的中小企業(yè)來說,選擇OA軟件定制開發(fā)已成為一種趨勢。但同時對于企業(yè)來說,OA軟件定制有優(yōu)勢也有劣勢,今天魁鯨小編分析一下中小企業(yè)OA軟件定制開發(fā)有哪些優(yōu)劣勢。 首先,什么是OA系統? OA系統即辦公自動化系統,主要是幫助管理者進行組織人員的管理運作。OA辦公自動化系統可以實現企事業(yè)單位內部的協同辦公,多部門、跨地域辦公的問題都將不再是問題。日常工作中,需要手動進行統計、采集、記錄的事情,使…

    • 上海CRM系統開發(fā):企業(yè)到底該不該使用crm系統?

      上海CRM系統開發(fā):企業(yè)到底該不該使用crm系統?

      在當今競爭激烈的市場環(huán)境中,如何有效地管理客戶關系,提高客戶滿意度和忠誠度已成為決定其生存和發(fā)展的關鍵因素之一。上海作為中國乃至世界的經濟中心,匯聚了許多行業(yè)先鋒和創(chuàng)新型企業(yè),迫切需要利用先進的技術手段優(yōu)化業(yè)務流程,增強市場競爭力。其中,客戶關系管理系統(CRM)作為數字化轉型的重要工具,它正逐漸成為許多企業(yè)關注的焦點。那么,對于上海的企業(yè)而言,到底該不該使用CRM系統呢? 一、理解CRM系統的核心價值 CRM系統旨在幫助企業(yè)全面系統地管理客戶信息,優(yōu)化銷售、營銷、客戶服務等業(yè)務流程,提高企業(yè)運…

      新聞中心 2024-08-26
    • 電子行業(yè)一體化ERP系統開發(fā)-上海魁鯨科技

      電子行業(yè)一體化ERP系統開發(fā)-上海魁鯨科技

      隨著市場競爭逐漸白熱化,電子行業(yè)面臨傳統管理難點,制約了企業(yè)發(fā)展運營。為了構建電子行業(yè)競爭力,解決發(fā)展高效協同問題,魁鯨洞悉電子行業(yè)企業(yè)管理難點,定制開發(fā)電子行業(yè)一體化ERP系統,突破行業(yè)發(fā)展瓶頸。 1、產銷一體化 銷售訂單一鍵輕松流轉至生產部,助力企業(yè)合理規(guī)劃產能,提高交付率,降低企業(yè)成本。 2、業(yè)財一體化 構建財稅業(yè)一體化平臺,實現業(yè)務流程與財務雙向數據流轉。 3、倉儲一體化 打通銷售、預購、采購、倉儲、在途、現場物料等各環(huán)節(jié)管理,實現庫存和物料的集中管理,智能分析和排產。 4、縱向一體化 …

      新聞中心 2025-02-19
    • 上海OA協同辦公系統開發(fā):如何打造與企業(yè)適配的OA辦公軟件

      上海OA協同辦公系統開發(fā):如何打造與企業(yè)適配的OA辦公軟件

      在數字化轉型的浪潮中,企業(yè)對高效、方便、智能辦公管理系統的需求日益增長。上海作為中國經濟中心,企業(yè)行業(yè)走在前列,積極探索和實踐OA協同辦公系統的開發(fā)和應用,通過技術創(chuàng)新提高企業(yè)管理效率,促進業(yè)務的快速發(fā)展。魁鯨小編將討論如何在上海的背景下建立一個高度適合企業(yè)的OA協同辦公系統。 一、深入了解企業(yè)需求,定制化開發(fā) 每個企業(yè)都有自己獨特的商業(yè)模式、管理流程和企業(yè)文化。因此,成功的OA系統開發(fā)必須從深入了解企業(yè)的實際需求開始。這包括對企業(yè)組織結構、工作流程、信息流、員工使用習慣等方面的深入研究。通過定…

      新聞中心 2024-08-30
    • Xcode 16+Swift 6,iOS 26開發(fā)環(huán)境搭建指南

      Xcode 16+Swift 6,iOS 26開發(fā)環(huán)境搭建指南

      iOS 26 已發(fā)布,為開發(fā)者帶來了大量新功能。本文將深入探討 Xcode 26 中的 AI 集成、Swift 6.2 的改進、Liquid Glass 設計語言,以及如何利用 Apple Intelligence 等關鍵特性來開發(fā)你的下一代應用程序。了解 iOS 26 開發(fā)的必知要點!探索 Xcode 26 的 AI 集成、Swift 6.2 的性能提升、Liquid Glass 全新設計語言,以及如何利用 Apple Intelligence 打造下一代智能應用。 1.開發(fā)環(huán)境:Xcode …

      新聞中心 2025-06-10
    • 誰說倉庫管理就是“收發(fā)貨”?從收貨到復盤,9大核心模塊一次講清楚!

      誰說倉庫管理就是“收發(fā)貨”?從收貨到復盤,9大核心模塊一次講清楚!

      很多企業(yè)的倉庫,看起來每天都很忙——叉車來回跑,人員不停搬,單據一張接一張。 但結果是: 賬永遠對不上 貨明明在,就是找不到 銷售催發(fā)貨,倉庫說沒庫存,系統卻顯示有 一盤點,全是差異 你要說人不努力吧,也不是。倉庫的人基本都在干活,而且還挺累。 問題出在哪? 說白了就一句話: 倉庫不是人不行,是沒有一套完整、可執(zhí)行的管理體系。 真正成熟的倉庫管理,不是收發(fā)貨干得快,而是有一套穩(wěn)定的系統在運轉——從收貨到盤點,從存儲到出庫,每個環(huán)節(jié)都有流程、有標準、有閉環(huán),這一點,魁鯨科技的倉庫管理系統十分貼合。…

      新聞中心 2026-05-13
    • ERP軟件開發(fā)

      ERP軟件開發(fā)

      ERP系統為企業(yè)提供統一的視圖和控制平臺,整合金融、人力資源、供應鏈等關鍵業(yè)務流程,精心設計的ERP系統可以顯著提高企業(yè)的運營效率和市場競爭力。 一、ERP的基本概念 ERP,通過信息技術手段,整合企業(yè)的各種業(yè)務流程和資源管理,提高企業(yè)的經營效率和管理水平,是一個集成的管理軟件系統。 二、ERP系統功能模塊 ERP系統通常包含多個功能模塊,負責企業(yè)不同的業(yè)務領域。常見的功能模塊包括財務管理、生產管理、采購管理、庫存管理、人力資源管理、銷售管理和客戶關系管理(CRM)。通過整合平臺互聯,這些模塊實…

      新聞中心 2024-10-23
    • 企業(yè)級定制系統如何結合 AI 實現智能化管理?

      企業(yè)級定制系統如何結合 AI 實現智能化管理?

      給一家制造業(yè)客戶做智能升級,我們團隊的核心就一條:讓AI長在業(yè)務系統里,而不是做個外掛。聊一個剛做完的案例,客戶想用AI管生產質量和設備預警。 最開始最頭疼的是數據散得到處都是。設備日志在本地數據庫,質檢報告是PDF,工單在老的MES里。AI要是看不到全貌,出的主意準跑偏。我們的第一件事不是選模型,而是搭了一個能連通各個老系統的數據中間層。用API把關鍵數據實時同步過來,統一了格式,相當于給AI準備了完整、干凈的“工作臺”。 模型沒用最炫的,選了性能夠用、支持私有化部署的一個。關鍵在喂給它“獨家…

      新聞中心 2026-01-06
    在線溝通
    客服微信
    客服微信
    在線咨詢
    聯系我們

    聯系我們

    400-103-7662

    售前咨詢郵箱:
    sales@king-v.com

    工作時間:
    法定工作日 9:00-18:00

    返回頂部
    主站蜘蛛池模板: 亚洲成av人无码免费观看| 亚洲精品天堂在线观看| 国产女主播喷水视频在线观看| 国产精自产拍久久久久久蜜| 亚洲中文字幕人成影院| 亚洲中文字幕无码永久在线 | 高清国产av一区二区三区| 尹人97| 日本熟妇人妻右手影院| 东京热黄网| 国产激情视频在线观看首页 | www.狠狠撸| 无码内射成人免费喷射| 韩国三级网一区二区三区| 影音先锋在线观看免费资源| 久久精品亚洲成人av| 日韩成人A级毛片| 香蕉久久久久久久av网站| 天堂无码人妻精品一区二区三区| 国产成人精品亚洲午夜麻豆| 香蕉久久av一区二区三区| 免费福利视频一区二区三区高清| 精品九九人人做人人爱| b站永久免费看片大全| 在线视频日韩| 国产精品久线在线播放| 狠狠综合| 91精品久久久久久无码人妻| 国内精品九九久久久精品| 亚洲成成品网站| 丰满老熟女毛片| 9/精品一区二区| 激情五月综合网| 嗯灬啊灬把腿张开灬动态图| 另类 亚洲 图片 激情 欧美 | 国产精品久久久久av福利动漫| 狠狠操中文字幕| 俺去鲁婷婷六月色综合| 色狠狠色男人| 精品人妻伦一二三区久久| 99久热这里只有精品免费|