log4jdbc »ç¿ëÈÄ Äõ¸®°á°ú ¼Óµµ°¡ ´À·ÁÁö´Âµ¥ µµ¿òÁ» ºÎŹµå¸³´Ï´Ù.
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${jdbc.driverClassName}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
</bean>
jdbc.driverClassName=oracle.jdbc.driver.OracleDriver
jdbc.url=jdbc:oracle:thin:@url:1521/BASE
±âÁ¸¼³Á¤ÀÔ´Ï´Ù.
ibatis¿¡¼ mybatis·Î º¯È¯ÈÄ
log4j.xml¿¡¼
<logger name="java.sql.PreparedStatement">
<level value="DEBUG" />
<appender-ref ref="console" />
</logger>
java.sql.PreparedStatement·Î ·Î±×°¡ ÂïÈ÷Áö ¾Ê¾Æ log4jdbc¸¦ »ç¿ëÇÏ¿© ·Î±×¸¦ Âï±âÀ§Çؼ
jdbc.propertis¿¡¼ ¼³Á¤À»
jdbc.driverClassName=net.sf.log4jdbc.DriverSpy
jdbc.url=jdbc:log4jdbc:oracle:thin:@url:1521/BASE ·Î º¯°æÈÄ »ç¿ëÀ» ÇÏ´Ï ·Î±×´Â Á¤»óÀûÀ¸·Î ÂïÈ÷´Âµ¥
Äõ¸®¼öÇà °á°ú°¡ ´Ê°Ô µ¹¾Æ¿À´Â°Å °°½À´Ï´Ù(?)
¿¢¼¿µ¥ÀÌÅÍ 10,782°ÇÀ» ¾÷·Îµå ¼Óµµ¸¦ ±âÁØÀ¸·Î jprofiler¿¡¼ ÃøÁ¤ÇÑ °á°ú´Â
À§¿¡ »çÁø ÷ºÎÇÏ½Å°É º¸¸é 19,785 ms°¡ ³ª¿É´Ï´Ù. ¾à 20ÃÊ Á¤µµ °É¸®´Â°Å °°Àºµ¥¿ä
½ÇÁ¦ upload ½ÃÀÛÁöÁ¡À¸·ÎºÎÅÍ uploadÁ¾·áÁöÁ¡ ±îÁöÀÇ ½Ã°£À» ÃøÁ¤Çغ»°á°ú 2ºÐ 55ÃÊ°¡ °É·È³×¿ä
¹°·Ð jdbc.url=jdbc:oracle:thin:@url:1521/BASE
·Î ¼³Á¤Çϸé jprofiler¿¡¼ ÃøÁ¤ÇÑ ¼Óµµ¿Í ¼ºñ½º¼öÇà ½Ã°£ÀÌ º°Â÷ÀÌ ³ªÁö ¾Ê½À´Ï´Ù.
¿©·¯°¡Áö·Î ¹®Á¦Á¡À» ã¾Æº¸°í Àִµ¥
µµÀúÈ÷ ¾î¶² ¹®Á¦ÀÎÁö ¸ô¶ó ÀÌ·¸°Ô ¹®ÀǸ¦ µå¸³´Ï´Ù.
1. ¿ø·¡´Â ºü¸£´ø °ÍÀÌ log4jdbc ¸¦ Àû¿ëÇؼ ÀüüÀûÀÎ ¼öÇà¼Óµµ°¡ ´À·ÁÁ³´Ù´Â°Ç°¡¿ä? ÁøÂ¥·Î?
2. 1¸¸°ÇÀÇ Äõ¸®¸¦ Ãâ·Â½ÃÅ°´Â °Í¸¸À¸·Îµµ ¼Óµµ ÀúÇÏ°¡ µÉ ¼ö ÀÖ½À´Ï´Ù. (I/O)
3. jdk ¹öÀü¿¡ ¸Â´Â log4jdbc ¸¦ »ç¿ëÁßÀ̽Ű¡¿ä? (http://log4jdbc.brunorozendo.com/ )
³× »ç½Ç Àúµµ ÀÌÇØÇϱ⠾î·ÆÁö¸¸ log4jdbc¸¦ »ç¿ëÇÏ¸é¼ ¾÷·Îµå 󸮰á°ú ¼Óµµ°¡ ÇöÀúÇÏ°Ô Â÷ÀÌ°¡ ³ª°í ÀÖ½À´Ï´Ù. ´ë·« 20ÃÊÁ¤µµ °É¸®´ø°ÍÀÌ 2ºÐ 50ÃÊÁ¤µµ °É¸®°í Àֳ׿ä
1¸¸°ÇÀÇ µ¥ÀÌÅ͸¦ Ãâ·Â°Ç¿¡ ´ëÇؼ ¼ÓµµÀúÇÏ°¡ ÀϾٸé
Àúµµ ÀÌÇØ°¡ °¡±ä Çϴµ¥ ´Ü°Ç µ¥ÀÌÅÍ Á¶È¸³ª ´Ù¸¥ ÀÛ¾÷¿¡ À־µ jdbc.url À» log4jdbc·Î Àû¿ëÇÏ°í ¸ðµç dbÀÛ¾÷¿¡ ÀÖ¾î¼ ¼Óµµ°¡ ÀúÇϵǰí ÀÖ½À´Ï´Ù.
log4jdbc´Â remix¸¦ »ç¿ëÁßÀÔ´Ï´Ù. ÇöÀç Áö¿øÀÌ Áß´Ü?ç´Ù°í´? Çϴµ¥ ÀÏ´Ü jdk¹öÀü¿¡ ¸Â¾Æ¼ »ç¿ëÁßÀ̱ä ÇÕ´Ï´Ù. ´Ù¸¥ jarÆÄÀÏÀº mavenÀ» »ç¿ëÇÏ¿© °ü¸®ÇÏ°í ÀÖÁö´Â ¾ÊÁö¸¸ log4jdbc¿Í °ü·ÃÇÑ jarÆÄÀÏÀº ÀÏ´Ü jdk¹öÀü¿¡ ¸ÂÃç¼ »ç¿ëÁßÀÔ´Ï´Ù.
ÀÌ·¯ÇÑ Çö»óÀº óÀ½À̶ó Àúµµ ´çȲ½º·´³×¿ä ´äº¯ °¨»çÇÕ´Ï´Ù.
1. net.sf.log4jdbc.Log4jdbcProxyDataSource ¸¦ ºóÀ¸·Î µî·ÏÇؼ »ç¿ëÇÏ´Â ¹æ¹ý (º° Â÷ÀÌ´Â ¾øÀ»µí...)
https://github.com/antop-dev/example/blob/master/log4jdbc-remix-example/src/main/resources/application.spring.xml
2. logger ¸¦ jdbc.sqltiming ·Î °Å¼Å¼ ÁøÂ¥ Äõ¸®¼Óµµ°¡ ´À¸°Áö ºÁ¾ßÇÒµí... Çϳ׿ä..
https://github.com/antop-dev/example/blob/master/log4jdbc-remix-example/src/main/resources/logback.xml
3. Controller ºÎÅÍ DB ±îÁö ¸ðµç ±¸°£º° ¼Óµµ(Æò±ÕÀÌ ¾Æ´Ñ)¸¦ ºÁ¾ß ÇÒµí Çϳ׿ä... ¤Ð_¤Ð