On Mar 14, 2012, at 10:50 AM, Erwan de FERRIERES wrote: > Hi, > > shouldn't we be checking for infoOn before each logInfo ?
This would be nice for performance reasons only, but yes. > And Debug.log should be then marked as deprecated ? There are 8 methods like it that could be confusing because they imply that "log(message)" means "always log message": I don't know if they are worth of deprecation... maybe yes; I will defer on you and others to decide on this topic :-) As a very side note... I don't like the class name "Debug" because it is not exactly its purpose... "Logger" (that is also the official name for Log4J) would be much better. Jacopo > > regards, > > 2012/3/14 Jacopo Cappellato <jacopo.cappell...@hotwaxmedia.com>: >> so fast... ok, great! >> >> Jacopo >> >> On Mar 14, 2012, at 8:58 AM, Adrian Crum wrote: >> >>> It works fine in the current trunk, and yes it was probably due to the >>> scripting work. >>> >>> -Adrian >>> >>> On 3/14/2012 7:54 AM, Jacques Le Roux wrote: >>>> +1 >>>> >>>> I think it's maybe rather related to recent script changes (Groovy, etc.), >>>> but I got this error at >>>> https://demo-trunk.ofbiz.apache.org/webtools/control/LogConfiguration >>>> >>>> org.ofbiz.widget.screen.ScreenRenderException: Error rendering screen >>>> [component://webtools/widget/LogScreens.xml#LogConfiguration]: >>>> java.lang.IllegalArgumentException: Error running script at location >>>> [component://webtools/webapp/webtools/WEB-INF/actions/log/LogConfiguration.groovy]: >>>> javax.script.ScriptException: >>>> groovy.lang.MissingMethodException: No signature of method: >>>> org.apache.log4j.Logger.getLoggerRepository() is applicable for argument >>>> types: () values: [] (Error running script at location >>>> [component://webtools/webapp/webtools/WEB-INF/actions/log/LogConfiguration.groovy]: >>>> javax.script.ScriptException: >>>> groovy.lang.MissingMethodException: No signature of method: >>>> org.apache.log4j.Logger.getLoggerRepository() is applicable for argument >>>> types: () values: []) >>>> >>>> >>>> It was still working on my local copy which I had updated yesterday >>>> morning (Europe). SO it must be something between r1299924 (OK) >>>> and r1300469 >>>> >>>> BTW something I still wonder about is if the dynamic possiblity of >>>> changing a package or class debugging level is still working? I >>>> tried recently and it was not working. >>>> Though I must say it was not on last trunk but more something like 11.04 >>>> (checked out from trunk around this date) >>>> >>>> Jacques >>>> >>>> From: "Jacopo Cappellato" <jacopo.cappell...@hotwaxmedia.com> >>>>> A couple of additional comments: >>>>> >>>>> * now that the commit has fixed all occurrencies, I would suggest that we >>>>> do not use Debug.log(...) anymore: it internally uses >>>>> the ALWAYS level and so it always prints the log, and this may not be >>>>> obvious to the developer >>>>> * I agree that this should be backported to all the active branches as >>>>> well, for two reasons (in addition to the performance issue >>>>> Ashish mentioned): >>>>> ** I have noticed that some of the methods that were using Debug.log(...) >>>>> were logging sensitive information (e.g. credit card >>>>> processor transactions); in a production system there are good reasons >>>>> for avoiding this information to be stored in unencrypted >>>>> log files in the filesystem; the log is also visible in the webtools >>>>> ** the risk of backporting bugs with this patch is relatively low >>>>> >>>>> Jacopo >>>>> >>>>> On Mar 14, 2012, at 7:52 AM, Ashish Vijaywargiya wrote: >>>>> >>>>>> Hello, >>>>>> >>>>>> I am thinking to backport similar changes that I did in this commit to >>>>>> release branch 10.04 and 11.04. Such commit will not harm anyone on >>>>>> production systems but can have better control on Debug.* message. >>>>>> >>>>>> This is kind of bug fix because few Debug.log( statements exists in the >>>>>> code base that prints object of list and map. Generating console output >>>>>> and >>>>>> writing such message on file system creates problem problem on production >>>>>> system and can have system performance degraded for few seconds. >>>>>> >>>>>> Please let me know your thoughts on backporting this changes to release >>>>>> branches. >>>>>> Thanks in advance! >>>>>> >>>>>> -- >>>>>> Ashish >>>>>> >>>>>> ---------- Forwarded message ---------- >>>>>> From: <ash...@apache.org> >>>>>> Date: Wed, Mar 14, 2012 at 11:37 AM >>>>>> Subject: svn commit: r1300463 [1/3] - in /ofbiz/trunk: >>>>>> applications/accounting/src/org/ofbiz/accounting/finaccount/ >>>>>> applications/accounting/src/org/ofbiz/accounting/invoice/ >>>>>> applications/accounting/src/org/ofbiz/accounting/payment/ >>>>>> applications/accounting/src/o... >>>>>> To: comm...@ofbiz.apache.org >>>>>> >>>>>> >>>>>> Author: ashish >>>>>> Date: Wed Mar 14 06:07:52 2012 >>>>>> New Revision: 1300463 >>>>>> >>>>>> URL: http://svn.apache.org/viewvc?rev=1300463&view=rev >>>>>> Log: >>>>>> On production systems you can't suppress Debug.log( message by the use of >>>>>> debug.properties file. It is always good to use Debug.* statements that >>>>>> are >>>>>> having log level setup in debug.properties file. The real problem comes >>>>>> with Debug.log( statement when you are printing any list or map object >>>>>> that >>>>>> contains so many records(or data) in it. Here I am changing all the >>>>>> occurrence of Debug.log( with Debug.logInfo(, Debug.logError( or >>>>>> Debug.logWarning( so that we can have better control of Debug.* >>>>>> statements >>>>>> on production system. :-) >>>>>> >>>>>> Modified: >>>>>> >>>>>> ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/finaccount/FinAccountPaymentServices.java >>>>>> >>>>>> ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/finaccount/FinAccountServices.java >>>>>> >>>>>> ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/invoice/InvoiceServices.java >>>>>> >>>>>> ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/payment/GiftCertificateServices.java >>>>>> >>>>>> ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/payment/PaymentGatewayServices.java >>>>>> >>>>>> ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/tax/TaxAuthorityServices.java >>>>>> >>>>>> ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/thirdparty/clearcommerce/CCPaymentServices.java >>>>>> >>>>>> ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/thirdparty/cybersource/IcsPaymentServices.java >>>>>> >>>>>> ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/thirdparty/gosoftware/PcChargeServices.java >>>>>> >>>>>> ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/thirdparty/gosoftware/RitaApi.java >>>>>> >>>>>> ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/thirdparty/gosoftware/RitaServices.java >>>>>> >>>>>> ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/thirdparty/orbital/OrbitalPaymentServices.java >>>>>> >>>>>> ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/thirdparty/paypal/PayPalServices.java >>>>>> >>>>>> ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/thirdparty/sagepay/SagePayUtil.java >>>>>> >>>>>> ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/thirdparty/valuelink/ValueLinkApi.java >>>>>> >>>>>> ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/thirdparty/valuelink/ValueLinkServices.java >>>>>> ofbiz/trunk/applications/content/src/org/ofbiz/content/ConvertTree.java >>>>>> >>>>>> ofbiz/trunk/applications/content/src/org/ofbiz/content/cms/CmsEvents.java >>>>>> >>>>>> ofbiz/trunk/applications/content/src/org/ofbiz/content/data/DataEvents.java >>>>>> >>>>>> ofbiz/trunk/applications/content/src/org/ofbiz/content/data/DataResourceWorker.java >>>>>> >>>>>> ofbiz/trunk/applications/content/src/org/ofbiz/content/survey/PdfSurveyServices.java >>>>>> >>>>>> ofbiz/trunk/applications/content/src/org/ofbiz/content/view/SimpleContentViewHandler.java >>>>>> >>>>>> ofbiz/trunk/applications/marketing/src/org/ofbiz/marketing/marketing/MarketingServices.java >>>>>> >>>>>> ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderLookupServices.java >>>>>> >>>>>> ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderReadHelper.java >>>>>> >>>>>> ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderReturnServices.java >>>>>> >>>>>> ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderServices.java >>>>>> >>>>>> ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/CheckOutEvents.java >>>>>> >>>>>> ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCart.java >>>>>> >>>>>> ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCartItem.java >>>>>> >>>>>> ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCartServices.java >>>>>> >>>>>> ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/shipping/ShippingEvents.java >>>>>> >>>>>> ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppinglist/ShoppingListServices.java >>>>>> >>>>>> ofbiz/trunk/applications/order/src/org/ofbiz/order/thirdparty/paypal/ExpressCheckoutEvents.java >>>>>> >>>>>> ofbiz/trunk/applications/order/src/org/ofbiz/order/thirdparty/zipsales/ZipSalesServices.java >>>>>> >>>>>> ofbiz/trunk/applications/party/src/org/ofbiz/party/party/PartyServices.java >>>>>> >>>>>> ofbiz/trunk/applications/party/src/org/ofbiz/party/party/PartyWorker.java >>>>>> >>>>>> ofbiz/trunk/applications/product/src/org/ofbiz/product/category/CategoryWorker.java >>>>>> >>>>>> ofbiz/trunk/applications/product/src/org/ofbiz/product/feature/ProductFeatureServices.java >>>>>> >>>>>> ofbiz/trunk/applications/product/src/org/ofbiz/product/inventory/InventoryServices.java >>>>>> >>>>>> ofbiz/trunk/applications/product/src/org/ofbiz/product/product/ProductWorker.java >>>>>> >>>>>> ofbiz/trunk/applications/product/src/org/ofbiz/product/store/ProductStoreWorker.java >>>>>> >>>>>> ofbiz/trunk/applications/product/src/org/ofbiz/shipment/packing/PackingServices.java >>>>>> >>>>>> ofbiz/trunk/applications/product/src/org/ofbiz/shipment/packing/PackingSession.java >>>>>> >>>>>> ofbiz/trunk/applications/product/src/org/ofbiz/shipment/packing/PackingSessionLine.java >>>>>> >>>>>> ofbiz/trunk/applications/product/src/org/ofbiz/shipment/picklist/PickListServices.java >>>>>> >>>>>> ofbiz/trunk/applications/product/src/org/ofbiz/shipment/shipment/ShipmentServices.java >>>>>> >>>>>> ofbiz/trunk/applications/product/src/org/ofbiz/shipment/thirdparty/dhl/DhlServices.java >>>>>> >>>>>> ofbiz/trunk/applications/product/src/org/ofbiz/shipment/thirdparty/fedex/FedexServices.java >>>>>> >>>>>> ofbiz/trunk/applications/product/src/org/ofbiz/shipment/thirdparty/ups/UpsServices.java >>>>>> >>>>>> ofbiz/trunk/applications/product/src/org/ofbiz/shipment/thirdparty/usps/UspsMockApiServlet.java >>>>>> >>>>>> ofbiz/trunk/applications/product/src/org/ofbiz/shipment/thirdparty/usps/UspsServices.java >>>>>> >>>>>> ofbiz/trunk/applications/product/src/org/ofbiz/shipment/thirdparty/usps/UspsServicesTests.java >>>>>> >>>>>> ofbiz/trunk/applications/securityext/src/org/ofbiz/securityext/thirdparty/truition/TruitionCoReg.java >>>>>> >>>>>> ofbiz/trunk/applications/workeffort/src/org/ofbiz/workeffort/workeffort/WorkEffortServices.java >>>>>> >>>>>> ofbiz/trunk/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayEvents.java >>>>>> >>>>>> ofbiz/trunk/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayStore.java >>>>>> >>>>>> ofbiz/trunk/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayStoreAutoPreferences.java >>>>>> >>>>>> ofbiz/trunk/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayStoreCategoryFacade.java >>>>>> >>>>>> ofbiz/trunk/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayStoreHelper.java >>>>>> >>>>>> ofbiz/trunk/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayStoreOrder.java >>>>>> >>>>>> ofbiz/trunk/specialpurpose/googlebase/src/org/ofbiz/googlebase/ProductsExportToGoogle.java >>>>>> >>>>>> ofbiz/trunk/specialpurpose/googlecheckout/src/org/ofbiz/googlecheckout/GoogleRequestServices.java >>>>>> ofbiz/trunk/specialpurpose/ldap/src/org/ofbiz/ldap/LdapLoginWorker.java >>>>>> >>>>>> ofbiz/trunk/specialpurpose/oagis/src/org/ofbiz/oagis/OagisInventoryServices.java >>>>>> >>>>>> ofbiz/trunk/specialpurpose/oagis/src/org/ofbiz/oagis/OagisShipmentServices.java >>>>>> ofbiz/trunk/specialpurpose/pos/src/org/ofbiz/pos/PosTransaction.java >>>>>> >>>>>> ofbiz/trunk/specialpurpose/pos/src/org/ofbiz/pos/component/PosButton.java >>>>>> >>>>>> ofbiz/trunk/specialpurpose/pos/src/org/ofbiz/pos/component/PosButtonWrapper.java >>>>>> >>>>>> ofbiz/trunk/specialpurpose/pos/src/org/ofbiz/pos/config/ButtonEventConfig.java >>>>>> >>>>>> ofbiz/trunk/specialpurpose/pos/src/org/ofbiz/pos/device/impl/CashDrawer.java >>>>>> >>>>>> ofbiz/trunk/specialpurpose/pos/src/org/ofbiz/pos/device/impl/Keyboard.java >>>>>> ofbiz/trunk/specialpurpose/pos/src/org/ofbiz/pos/device/impl/Msr.java >>>>>> >>>>>> ofbiz/trunk/specialpurpose/pos/src/org/ofbiz/pos/device/impl/Receipt.java >>>>>> >>>>>> ofbiz/trunk/specialpurpose/pos/src/org/ofbiz/pos/event/ManagerEvents.java >>>>>> >>>>>> ofbiz/trunk/specialpurpose/pos/src/org/ofbiz/pos/event/PaymentEvents.java >>>>>> >>>>>> ofbiz/trunk/specialpurpose/pos/src/org/ofbiz/pos/event/SecurityEvents.java >>>>>> ofbiz/trunk/specialpurpose/pos/src/org/ofbiz/pos/event/TestEvents.java >>>>>> >>>>>> ofbiz/trunk/specialpurpose/pos/src/org/ofbiz/pos/jpos/service/KeyboardService.java >>>>>> >>>>>> ofbiz/trunk/specialpurpose/pos/src/org/ofbiz/pos/jpos/service/NullPosPrinter.java >>>>>> >>>>>> ofbiz/trunk/specialpurpose/pos/src/org/ofbiz/pos/screen/ClientProfile.java >>>>>> ofbiz/trunk/specialpurpose/pos/src/org/ofbiz/pos/screen/LoadSale.java >>>>>> ofbiz/trunk/specialpurpose/pos/src/org/ofbiz/pos/screen/PosDialog.java >>>>>> ofbiz/trunk/specialpurpose/pos/src/org/ofbiz/pos/screen/PosScreen.java >>>>>> ofbiz/trunk/specialpurpose/pos/src/org/ofbiz/pos/screen/SaveSale.java >>>>>> ofbiz/trunk/specialpurpose/scrum/src/org/ofbiz/scrum/ScrumEvents.java >>>>>> >>>>>> ofbiz/trunk/specialpurpose/shark/src/org/ofbiz/shark/instance/Activity.java >>>>>> >>>>>> ofbiz/trunk/specialpurpose/shark/src/org/ofbiz/shark/instance/ActivityVariable.java >>>>>> >>>>>> ofbiz/trunk/specialpurpose/shark/src/org/ofbiz/shark/instance/Assignment.java >>>>>> >>>>>> ofbiz/trunk/specialpurpose/shark/src/org/ofbiz/shark/instance/EntityPersistentMgr.java >>>>>> >>>>>> ofbiz/trunk/specialpurpose/shark/src/org/ofbiz/shark/instance/Process.java >>>>>> >>>>>> ofbiz/trunk/specialpurpose/shark/src/org/ofbiz/shark/instance/ProcessMgr.java >>>>>> >>>>>> ofbiz/trunk/specialpurpose/shark/src/org/ofbiz/shark/instance/ProcessVariable.java >>>>>> >>>>>> ofbiz/trunk/specialpurpose/shark/src/org/ofbiz/shark/instance/Resource.java >>>>>> >>>>>> ofbiz/trunk/specialpurpose/shark/src/org/ofbiz/shark/mapping/EntityParticipantMap.java >>>>>> >>>>>> ofbiz/trunk/specialpurpose/shark/src/org/ofbiz/shark/repository/EntityRepositoryMgr.java >>>>>> >>>>>> ofbiz/trunk/specialpurpose/shark/src/org/ofbiz/shark/requester/LoggingRequester.java >>>>>> >>>>>> ofbiz/trunk/specialpurpose/webpos/src/org/ofbiz/webpos/transaction/WebPosTransaction.java >>>>>> >>>>>> Modified: >>>>>> ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/finaccount/FinAccountPaymentServices.java >>>>>> URL: >>>>>> http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/finaccount/FinAccountPaymentServices.java?rev=1300463&r1=1300462&r2=1300463&view=diff >>>>>> ============================================================================== >>>>>> --- >>>>>> ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/finaccount/FinAccountPaymentServices.java >>>>>> (original) >>>>>> +++ >>>>>> ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/finaccount/FinAccountPaymentServices.java >>>>>> Wed Mar 14 06:07:52 2012 >>>>>> @@ -659,7 +659,7 @@ public class FinAccountPaymentServices { >>>>>> "AccountingFinAccountExpired", >>>>>> UtilMisc.toMap("thruDate", >>>>>> finAccount.getTimestamp("thruDate")), locale)); >>>>>> } >>>>>> - Debug.log("Deposit into financial account #" + finAccountId + " >>>>>> [" >>>>>> + amount + "]", module); >>>>>> + Debug.logInfo("Deposit into financial account #" + finAccountId >>>>>> + >>>>>> " [" + amount + "]", module); >>>>>> >>>>>> // get the previous balance >>>>>> BigDecimal previousBalance = >>>>>> finAccount.getBigDecimal("actualBalance"); >>>>> >>>>> >> > > > > -- > Erwan de FERRIERES