springboot中,Druid配置使用log4j2。
問題
springboot專案,使用了slf4j2,同時也使用了阿里的DruidDataSource
,但是在專案啟動時出了問題:
log4j:WARN No appenders could be found for logger (com.alibaba.druid.pool.DruidDataSource).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
感覺是DruidDataSource預設去找了 log4j.properties 配置檔案。
本地專案配置
# logback
logging.config=classpath:log4j2.xml
#mysql
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.url=jdbc:mysql://10.57.17.28:3306/mockcloud?useUnicode=true&useSSL=false&characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password =
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
#連線池配置
spring.datasource.initialSize=5
spring.datasource.minIdle=5
spring.datasource.maxActive=20
spring.datasource.maxWait=60000
spring.datasource.timeBetweenEvictionRunsMillis=60000
spring.datasource.minEvictableIdleTimeMillis=300000
spring.datasource .validationQuery=SELECT 1 FROM DUAL
spring.datasource.testWhileIdle=true
spring.datasource.testOnBorrow=false
spring.datasource.testOnReturn=false
spring.datasource.poolPreparedStatements=true
spring.datasource.maxPoolPreparedStatementPerConnectionSize=20
spring.datasource.filters=stat,wall,log4j2
spring.datasource.connectionProperties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
可以看出,在資料來源的配置中,通過spring.datasource.filters=stat,wall,log4j2
配置了log4j2
作為日誌的依賴。
但是遺憾的是,錯誤依然存在。
那是不是這裡的配置不生效呢?
在網上看了一些文章,有的說為Druid需要單獨配置configuration bean
,application.properties
中的配置不能生效,於是新增:
import com.alibaba.druid.pool.DruidDataSource;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import javax.sql.DataSource;
import java.sql.SQLException;
@Configuration
public class DruidDBConfig {
private static final Logger logger = LoggerFactory.getLogger(DruidDBConfig.class);
@Value("${spring.datasource.url}")
private String dbUrl;
@Value("${spring.datasource.username}")
private String username;
@Value("${spring.datasource.password}")
private String password;
@Value("${spring.datasource.driver-class-name}")
private String driverClassName;
@Value("${spring.datasource.initialSize}")
private int initialSize;
@Value("${spring.datasource.minIdle}")
private int minIdle;
@Value("${spring.datasource.maxActive}")
private int maxActive;
@Value("${spring.datasource.maxWait}")
private int maxWait;
@Value("${spring.datasource.timeBetweenEvictionRunsMillis}")
private int timeBetweenEvictionRunsMillis;
@Value("${spring.datasource.minEvictableIdleTimeMillis}")
private int minEvictableIdleTimeMillis;
@Value("${spring.datasource.validationQuery}")
private String validationQuery;
@Value("${spring.datasource.testWhileIdle}")
private boolean testWhileIdle;
@Value("${spring.datasource.testOnBorrow}")
private boolean testOnBorrow;
@Value("${spring.datasource.testOnReturn}")
private boolean testOnReturn;
@Value("${spring.datasource.poolPreparedStatements}")
private boolean poolPreparedStatements;
@Value("${spring.datasource.maxPoolPreparedStatementPerConnectionSize}")
private int maxPoolPreparedStatementPerConnectionSize;
@Value("${spring.datasource.filters}")
private String filters;
@Value("{spring.datasource.connectionProperties}")
private String connectionProperties;
@Bean //宣告其為Bean例項
@Primary //在同樣的DataSource中,首先使用被標註的DataSource
public DataSource dataSource(){
DruidDataSource datasource = new DruidDataSource();
datasource.setUrl(this.dbUrl);
datasource.setUsername(username);
datasource.setPassword(password);
datasource.setDriverClassName(driverClassName);
//configuration
datasource.setInitialSize(initialSize);
datasource.setMinIdle(minIdle);
datasource.setMaxActive(maxActive);
datasource.setMaxWait(maxWait);
datasource.setTimeBetweenEvictionRunsMillis(timeBetweenEvictionRunsMillis);
datasource.setMinEvictableIdleTimeMillis(minEvictableIdleTimeMillis);
datasource.setValidationQuery(validationQuery);
datasource.setTestWhileIdle(testWhileIdle);
datasource.setTestOnBorrow(testOnBorrow);
datasource.setTestOnReturn(testOnReturn);
datasource.setPoolPreparedStatements(poolPreparedStatements);
datasource.setMaxPoolPreparedStatementPerConnectionSize(maxPoolPreparedStatementPerConnectionSize);
try {
datasource.setFilters(filters);
} catch (SQLException e) {
logger.error("druid configuration initialization filter", e);
}
datasource.setConnectionProperties(connectionProperties);
return datasource;
}
}
很遺憾,問題還是沒有解決,依然報同樣的錯誤。
解決方法
求高手解答。
相關推薦
springboot中,Druid配置使用log4j2。
問題 springboot專案,使用了slf4j2,同時也使用了阿里的DruidDataSource,但是在專案啟動時出了問題: log4j:WARN No appenders could be found for logger (com.alibaba
IIS7錯誤:不能在此路徑中使用此配置節。如果在父級別上鎖定了該節,便會出現這種情況。鎖定是默認設置的(overrideModeDefault="Deny")......
命令 hand .exe ... 註意 net 解決 節點 windows IIS 7訪問的時候出現以下異常: 不能在此路徑中使用此配置節。如果在父級別上鎖定了該節,便會出現這種情況。鎖定是默認設置的(overrideModeDefault="Deny")...... 解決
配置錯誤:不能在此路徑中使用此配置節。如果在父級別上鎖定了該節,便會出現這種情況
因為 IIS 7 採用了更安全的 web.config 管理機制,預設情況下會鎖住配置項不允許更改。 執行命令列 %windir%\system32\inetsrv\appcmd unlock config -section:system.webServer/handlers 。其中的 handl
IIS7錯誤:不能在此路徑中使用此配置節。如果在父級別上鎖定了該節,便會出現這種情況。鎖定是預設設定的
IIS 7訪問的時候出現以下異常: 不能在此路徑中使用此配置節。如果在父級別上鎖定了該節,便會出現這種情況。鎖定是預設設定的(overrideModeDefault="Deny")...... 解決方案: 因為 IIS 7 採用了更安全的 web.config 管理機制
SpringBoot中多資料來源 配置mybatis 駝峰命名不管用,帶下劃線欄位返回null值
在springboot中 開啟是自動轉換,但是,這個配置根本沒有生效, 當查出來的資料時,只要欄位名中有 下劃線的欄位, 就會出現 null 在者我的工程是多資料來源工程,這是導致這個配置沒有生效的原因,因為他不知道為哪個資料來源開啟駝峰命名 所以我們需要在配置多資料來源的檔案
SpringBoot 中的aop配置,完成日誌記錄功能
第一步:在pom.xml下新增依賴 因為springboot已經新增過日誌記錄功能的依賴 <!-- 核心模組,包括自動配置支援、日誌支援 --> <dependency> <groupId>org.s
SpringBoot項目中,獲取配置文件信息
單元 alt extern .info bsp wire info mage prop 1.在配置文件中設置信息,格式如下 wechat: mpAppId: wxdf2b09f280e6e6e2 mpAppSecret: f924b2e9f140ac98f9cb5
SpringBoot中的常用配置
comm highlight tar -type cati pid 添加 maven項目 http請求 一 . 關於在application.properties文件中的一些常見配置 1.server.port=8888 :表示配置端口 2.server
centos中,內核優化。適合用於優化WEB服務器等TCP/IP連接多的服務器
內核優化 centos 優化 這個參數表示操作系統允許TIME_WAIT套接字數量的最大值,如果超過這個數字,TIME_WAIT套接字將立刻被清除並打印警告信息。默認180000,過多TIME_WAIT套接字會使Web服務器變慢。net.ipv4.tcp_max_tw_buckets = 1000
在Springboot2.0項目中使用Druid配置多數據源
clas sin word npr PE ng- 多個 pap final 在Springboot出現之前配置數據源以及相關的事物,緩存等內容一直是個繁瑣的工作,但是Springboot出現後這些基本都可以靠默認配置搞定,就變得很輕松了。這就是現在推崇模板>配置的原因
springboot中generator相關配置檔案
generator.properties # jdbc jdbc.driverClass = com.mysql.jdbc.Driver jdbc.url = jdbc:mysql://localhost:3306/test?autoReconnect=true&useUnicode=
如何解讀springboot 中約定大於配置、JPA是什麼、咋用
1、大家都知道springboot 的核心:約定大於配置,什麼意思呢? 那麼怎麼每個約定大於配置呢?摘自百科一段: 》在微服務體系中,簡單說,在springboot 中,約定大於配置這句話可以從以下來理解: 1、開發人員僅需規定應用中不符約定的部分; 2、在沒有規定配置
SpringBoot學習1.6-配置log4j2及進行靜態方法封裝
環境: jdk1.8;spring boot2.0.2;Maven3.3 摘要說明: spring boot2預設使用的是Logback;且spring boot2開始不支援log4j只支援log4j2;Logback作為新開發的框架既然被spring boot當成預設
HTTP500.19 iis7、8 不能在此路徑中使用此配置節。如果在父級別上鎖定了該節,便會出現這種情況
不能在此路徑中使用此配置節。如果在父級別上鎖定了該節,便會出現這種情況。鎖定 在全新安裝的IIS7下搭建網站,訪問頁面時出現錯誤資訊如下: 配置錯誤 不能在此路徑中使用此配置節。如果在父級別上鎖定了該節,便會出現這種情況。鎖定是預設設定的(overrideModeDefa
springboot中bean形式配置mybatis的分頁外掛
mybatis的分頁外掛在開發中往往必不可少,使用起來也非常簡單。以往我們的配置都是在xml中進行的,springboot推薦使用bean的形式進行配置。所以,今天就來看看使用java bean的形式配置mybatis的分頁外掛。 1、新增依賴 首先引入必要的依賴:分頁外掛的依賴 <
SpringBoot中靜態資源配置
在Springboot中預設的靜態資源路徑有:classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,從這裡可以看出這裡的靜態資源路徑都是在classpath
生成十個0~100之間的隨機數,放到陣列中,然後排序輸出。(random版) [必做題]
import java.util.Arrays; import java.util.Random; import java.util.Scanner; public class randos { public static void main(String[] args) { Sc
生成十個0~100之間的隨機數,放到陣列中,然後排序輸出。(知識點:Math類取整,獲得隨機數等) [必做題]
import java.util.Arrays; import java.util.Scanner; public class 隨機陣列排序 { public static void main(String[] args) { Scanner s = new Scanner(Syst
HTTP500.19 iis7、8 不能在此路徑中使用此配置節。如果在父級別上鎖定了該節,便會出現這種情況
不能在此路徑中使用此配置節。如果在父級別上鎖定了該節,便會出現這種情況。鎖定 在全新安裝的IIS7下搭建網站,訪問頁面時出現錯誤資訊如下: 配置錯誤 不能在此路徑中使用此配置節。如果在父級別上鎖定了該節,便會出現這種情況。鎖定是預設設定的(overrideModeDefa
SpringBoot中AOP的配置
AOP目的: 面向切面程式設計(aspect-oriented programming,AOP)主要實現的目的是針對業務處理過程中的切面進行提取,諸如日誌、事務管理和安全這樣的系統服務,從而使得業務邏輯各部分之間的耦合度降低,提高程式的可重用性,同時提高了開發