<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.infinite-erp.co.id/index.php?action=history&amp;feed=atom&amp;title=Module%3ADB_Pool_Logging_Utilities</id>
	<title>Module:DB Pool Logging Utilities - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.infinite-erp.co.id/index.php?action=history&amp;feed=atom&amp;title=Module%3ADB_Pool_Logging_Utilities"/>
	<link rel="alternate" type="text/html" href="https://wiki.infinite-erp.co.id/index.php?title=Module:DB_Pool_Logging_Utilities&amp;action=history"/>
	<updated>2026-04-06T21:43:55Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.31.1</generator>
	<entry>
		<id>https://wiki.infinite-erp.co.id/index.php?title=Module:DB_Pool_Logging_Utilities&amp;diff=3341&amp;oldid=prev</id>
		<title>Wikiadmin: /* Performance considerations */</title>
		<link rel="alternate" type="text/html" href="https://wiki.infinite-erp.co.id/index.php?title=Module:DB_Pool_Logging_Utilities&amp;diff=3341&amp;oldid=prev"/>
		<updated>2022-01-21T09:19:55Z</updated>

		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Performance considerations&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 09:19, 21 January 2022&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l14&quot; &gt;Line 14:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 14:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Performance considerations ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Performance considerations ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;When installing this module, especially in production environments, take into account that, depending on how it is configured, it can cause an overhead in terms of performance. Read carefully Configuration section to select the settings before using it. You can find [[Projects:&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;DB_Pool_Logging_Utilities&lt;/del&gt;/QA#Performance_overhead|here]] some measures taken regarding this overhead.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;When installing this module, especially in production environments, take into account that, depending on how it is configured, it can cause an overhead in terms of performance. Read carefully Configuration section to select the settings before using it. You can find [[Projects:&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;DB Pool Logging Utilities&lt;/ins&gt;/QA#Performance_overhead|here]] some measures taken regarding this overhead.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== What to log ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== What to log ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Wikiadmin</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.infinite-erp.co.id/index.php?title=Module:DB_Pool_Logging_Utilities&amp;diff=3339&amp;oldid=prev</id>
		<title>Wikiadmin: /* Requirements */</title>
		<link rel="alternate" type="text/html" href="https://wiki.infinite-erp.co.id/index.php?title=Module:DB_Pool_Logging_Utilities&amp;diff=3339&amp;oldid=prev"/>
		<updated>2022-01-21T09:18:03Z</updated>

		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Requirements&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 09:18, 21 January 2022&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l10&quot; &gt;Line 10:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 10:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Depends on [[Release_Notes/3.0PR17Q1|Openbravo 3.0PR17Q1]].&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Depends on [[Release_Notes/3.0PR17Q1|Openbravo 3.0PR17Q1]].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* It can only generate log for [[&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Apache_JDBC_Connection_Pool&lt;/del&gt;|Tomcat DB Pool]].&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* It can only generate log for [[&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Modules:Apache JDBC Connection Pool &lt;/ins&gt;| Tomcat DB Pool]].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Performance considerations ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Performance considerations ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Wikiadmin</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.infinite-erp.co.id/index.php?title=Module:DB_Pool_Logging_Utilities&amp;diff=3337&amp;oldid=prev</id>
		<title>Wikiadmin: /* Introduction */</title>
		<link rel="alternate" type="text/html" href="https://wiki.infinite-erp.co.id/index.php?title=Module:DB_Pool_Logging_Utilities&amp;diff=3337&amp;oldid=prev"/>
		<updated>2022-01-21T09:15:57Z</updated>

		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Introduction&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 09:15, 21 January 2022&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l5&quot; &gt;Line 5:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 5:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;It is primarily intended to be used by developers to facilitate them to pinpoint the code that is causing performance issues related to database queries/connections.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;It is primarily intended to be used by developers to facilitate them to pinpoint the code that is causing performance issues related to database queries/connections.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This information is logged in standard [[&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;How_To_Get_Openbravo_Logs &lt;/del&gt;| openbravo log]].&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This information is logged in standard [[&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;How To Configure Log &lt;/ins&gt;| openbravo log]].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Requirements ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Requirements ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Wikiadmin</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.infinite-erp.co.id/index.php?title=Module:DB_Pool_Logging_Utilities&amp;diff=3324&amp;oldid=prev</id>
		<title>Wikiadmin: Created page with &quot;== Introduction ==  [http://centralrepository.openbravo.com/openbravo/org.openbravo.forge.ui/sso/ForgeModuleDetail/DB-Pool-Logging-Utilities DB Pool Logging Utilities] is a co...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.infinite-erp.co.id/index.php?title=Module:DB_Pool_Logging_Utilities&amp;diff=3324&amp;oldid=prev"/>
		<updated>2022-01-21T09:01:35Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;== Introduction ==  [http://centralrepository.openbravo.com/openbravo/org.openbravo.forge.ui/sso/ForgeModuleDetail/DB-Pool-Logging-Utilities DB Pool Logging Utilities] is a co...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
[http://centralrepository.openbravo.com/openbravo/org.openbravo.forge.ui/sso/ForgeModuleDetail/DB-Pool-Logging-Utilities DB Pool Logging Utilities] is a community module that provides the ability of generating log for some events of database Pool.&lt;br /&gt;
&lt;br /&gt;
It is primarily intended to be used by developers to facilitate them to pinpoint the code that is causing performance issues related to database queries/connections.&lt;br /&gt;
&lt;br /&gt;
This information is logged in standard [[How_To_Get_Openbravo_Logs | openbravo log]].&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* Depends on [[Release_Notes/3.0PR17Q1|Openbravo 3.0PR17Q1]].&lt;br /&gt;
* It can only generate log for [[Apache_JDBC_Connection_Pool|Tomcat DB Pool]].&lt;br /&gt;
&lt;br /&gt;
== Performance considerations ==&lt;br /&gt;
&lt;br /&gt;
When installing this module, especially in production environments, take into account that, depending on how it is configured, it can cause an overhead in terms of performance. Read carefully Configuration section to select the settings before using it. You can find [[Projects:DB_Pool_Logging_Utilities/QA#Performance_overhead|here]] some measures taken regarding this overhead.&lt;br /&gt;
&lt;br /&gt;
== What to log ==&lt;br /&gt;
&lt;br /&gt;
=== Slow Queries ===&lt;br /&gt;
&lt;br /&gt;
Logging slow queries is important to fine tune them. DB logs (ie. &amp;lt;code&amp;gt;min_duration_statements&amp;lt;/code&amp;gt; in PostgreSQL) allows to log them, but sometimes it is not easy from those logs to reach the code that triggered the query. Adding stack traces to logged slow queries helps to easily know the code behind the queries.&lt;br /&gt;
&lt;br /&gt;
=== Connections ===&lt;br /&gt;
&lt;br /&gt;
Some times, it is useful also to know all the connections that are present in the pool, understanding where they were borrowed for last time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
&lt;br /&gt;
This module is highly configurable in order to exactly determine what to log. Note that by default the module is not enabled, so even it is installed in the Openbravo instance, it will not log anything until it is configured.&lt;br /&gt;
&lt;br /&gt;
There are two ways to configure the settings for this module: Openbravo.properties and MBeans.&lt;br /&gt;
&lt;br /&gt;
=== How to set parameters ===&lt;br /&gt;
==== Openbravo.properties ====&lt;br /&gt;
&lt;br /&gt;
{{(!)|Note after any change in Openbravo.properties, you will need to compile and restart Tomcat in order to make it effective.}}&lt;br /&gt;
&lt;br /&gt;
All parameters described in Configuration section can be set through [[Openbravo.properties | &amp;lt;code&amp;gt;Openbravo.properties&amp;lt;/code&amp;gt; file]]. The properties are named &amp;lt;code&amp;gt;db.pool.logger.&amp;lt;/code&amp;gt; followed the parameter name to configure starting in lowercase. For example to enable logging, use: &amp;lt;code&amp;gt;db.pool.logger.enabled=true&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Settings defined in &amp;lt;code&amp;gt;Openbravo.properties&amp;lt;/code&amp;gt; are applied when Tomcat starts.&lt;br /&gt;
&lt;br /&gt;
==== MBeans ====&lt;br /&gt;
&lt;br /&gt;
It is also possible to change logging configuration in a live instance using JMX MBeans. The MBean is registered in &amp;lt;code&amp;gt;Openbravo:''contextName-''name=DBPoolLogger&amp;lt;/code&amp;gt; where contextName is the application's context name.&lt;br /&gt;
&lt;br /&gt;
There are different clients to connect to JMX MBeans:&lt;br /&gt;
[[Image:Jmxterm-pool-log.png|right|400px]]&lt;br /&gt;
&lt;br /&gt;
* [http://docs.oracle.com/javase/8/docs/technotes/guides/management/jconsole.html JConsole] which is included in JDK.&lt;br /&gt;
* [https://github.com/jiaqi/jmxterm jmxterm] command line client&lt;br /&gt;
&lt;br /&gt;
=== Parameters ===&lt;br /&gt;
&lt;br /&gt;
* '''Enabled'''. Default &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;. Enables or disabled pool logging, when it is not enabled, none of the rest of parameter values is take into account. When logging is disabled, its overhead in performance is negligible.&lt;br /&gt;
&lt;br /&gt;
Settings for logging statements:&lt;br /&gt;
&lt;br /&gt;
* '''MinDurationStatements'''. Default &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;. Defines the minimum time in milliseconds to log statements. Whenever a query takes longer than this threshold to be executed in database in will be logged including the time it took to be executed. &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; indicates that no statement will be logged. &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; will log ALL statements. Note that setting a low value for this parameter will produce too much log, adding overall overhead to execution times.&lt;br /&gt;
* '''QuerySubstrings'''. Default empty. List of substrings in sensitive case queries are compared to in order to log. If this list is empty, all queries taking more than ''MinDurationStatements'' will be logged; if there are values in this list, only queries that match any of these substrings will be logged in case they take more than ''MinDurationStatements'' to execute.&lt;br /&gt;
** '''AllQuerySubstrings'''. This parameter can be set to provide a full list of substring queries separated by #.&lt;br /&gt;
** '''addQuerySubstring'''. Only as JMX operation. Allows to add a new query substring to the existing list.&lt;br /&gt;
** '''resetQuerySubstrings'''. Only as JMX operation. Removes all query substrings, so from this moment all queries will be electable to logged.&lt;br /&gt;
* '''LogParamValues'''. Default &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;. When enabled, if logged statements contain parameters, their values will be also logged.&lt;br /&gt;
* '''LogStatementStackTrace'''. Default &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;. When enabled, logged statements will include a stack trace making in this manner possible to know which is the code that executed the query.&lt;br /&gt;
&lt;br /&gt;
Stack trace configuration:&lt;br /&gt;
*'''MaxStackTraceLength'''. Default &amp;lt;code&amp;gt;8&amp;lt;/code&amp;gt;. Maximum number of lines to be logged in stack traces. Stack traces can be very long but to get to the relevant piece, usually it is not required to have it complete in order to get to the code executing the query. Note than having here a big number and a low ''MinDurationStatements'' value can generate a very verbose log.&lt;br /&gt;
*'''UseStackTraceBlackList'''. Default &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;. When it is true, some classes/packages are excluded from stack trace logs. There are some common infrastructure packages that are not usually interesting in logs, that's why are excluded by default. The complete list is:&lt;br /&gt;
** &amp;lt;code&amp;gt;org.apache.catalina.core.ApplicationFilterChain&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;org.apache.tomcat&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;org.openbravo.apachejdbcconnectionpool&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;org.openbravo.util.db&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;org.hibernate&amp;lt;/code&amp;gt;&lt;br /&gt;
** &amp;lt;code&amp;gt;com.sun.proxy&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Settings for logging connections:&lt;br /&gt;
&lt;br /&gt;
* '''LogMultipleConnectionsPerThread''': Default &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;. When it is active, a warning message will appear in log if a thread borrows at the same time more than one connection from the pool. In this message will appear for each not returned connection the stack trace from where it was borrowed. Having at the same time several connections in the same thread can be problematic as described in {{IssueReference|issuenum=35855}}. Note that enabling this feature in production environments can cause performance degradation because for every borrowed connection it is needed store thread information and its stack trace and also to check if there are any other connection already borrowed in the same thread.&lt;br /&gt;
* '''TrackConnections''': Default &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;. When enabled, for each connection in the pool it is saved the stack trace for the last time it was borrowed. Its purpose is to be able to log on demand through JMX MBeans. Note if this is enabled having already pooled idle connections, stack traces will not be available for them till they are not borrowed again. Take into account tracking connections can cause performance degradation in production environments, as per each connection that is borrowed, stack traces are saved.&lt;br /&gt;
&lt;br /&gt;
Logging connections, these features are only available through JMX MBeans in case ''TrackConnections'' is set to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;:&lt;br /&gt;
* '''logActiveConnections''': will log all connections that are currently active. A connection is considered to be active in case it has been borrowed and not returned yet to the pool. Log includes stack traces of the moment each connection was borrowed from pool, as well as current stack traces.&lt;br /&gt;
* '''logAllConnections''': logs all connections in the pool, including both active and idle connections. In the log, it is included the stack trace of the connection when it was borrowed from the pool.&lt;/div&gt;</summary>
		<author><name>Wikiadmin</name></author>
		
	</entry>
</feed>