RE: Exception when calling logger->info() method
Hi Thorsten, I have solved the problem. It was my fault. I have compiled the Debug version of my app with NODEBUG micro defined, but Debug version library of log4cxx was correctly defined with the _DEBUG macro defined. After compiling my app with the _DEBUG macro everything is working just fine. Regards, Janusz -Original Message- From: Thorsten Schöning Sent: Thursday, 15 March 2018 6:14 AM To: Log4CXX User Subject: Re: Exception when calling logger->info() method Guten Tag Dalecki, Janusz, am Mittwoch, 14. März 2018 um 04:40 schrieben Sie: > Thanks for the reply. I have compiled my app and built log4cxx using > Visual Studio 2017 – so they are coming from the same compiler. Did you try using the macro as suggested? How did you build log4cxx? As the access error occurs in Transcoder, it might be worth a try to build using the WCHAR_T-API and only provide Unicode strings as log messages. Mit freundlichen Grüßen, Thorsten Schöning -- Thorsten Schöning E-Mail: thorsten.schoen...@am-soft.de AM-SoFT IT-Systeme https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.AM-SoFT.de%2F&data=02%7C01%7Cjdalecki%40tycoint.com%7Cdd16830b63154452db6f08d589dfc2c8%7Ca1f1e2147ded45b681a19e8ae3459641%7C0%7C0%7C636566516499984431&sdata=GibwCpQs4sJryjTVFXqUiINCjqR5JPXB05xalae1S6g%3D&reserved=0 Telefon...05151- 9468- 55 Fax...05151- 9468- 88 Mobil..0178-8 9468- 04 AM-SoFT GmbH IT-Systeme, Brandenburger Str. 7c, 31789 Hameln AG Hannover HRB 207 694 - Geschäftsführer: Andreas Muchow This e-mail contains privileged and confidential information intended for the use of the addressees named above. If you are not the intended recipient of this e-mail, you are hereby notified that you must not disseminate, copy or take any action in respect of any information contained in it. If you have received this e-mail in error, please notify the sender immediately by e-mail and immediately destroy this e-mail and its attachments.
Re: Exception when calling logger->info() method
Guten Tag Dalecki, Janusz, am Mittwoch, 14. März 2018 um 04:40 schrieben Sie: > Thanks for the reply. I have compiled my app and built log4cxx > using Visual Studio 2017 – so they are coming from the same compiler. Did you try using the macro as suggested? How did you build log4cxx? As the access error occurs in Transcoder, it might be worth a try to build using the WCHAR_T-API and only provide Unicode strings as log messages. Mit freundlichen Grüßen, Thorsten Schöning -- Thorsten Schöning E-Mail: thorsten.schoen...@am-soft.de AM-SoFT IT-Systeme http://www.AM-SoFT.de/ Telefon...05151- 9468- 55 Fax...05151- 9468- 88 Mobil..0178-8 9468- 04 AM-SoFT GmbH IT-Systeme, Brandenburger Str. 7c, 31789 Hameln AG Hannover HRB 207 694 - Geschäftsführer: Andreas Muchow
RE: Exception when calling logger->info() method
Hi, Thanks for the reply. I have compiled my app and built log4cxx using Visual Studio 2017 – so they are coming from the same compiler. Regards, Janusz From: Robert Middleton Sent: Wednesday, 14 March 2018 1:27 PM To: Log4CXX User Subject: Re: Exception when calling logger->info() method Two quick thoughts: 1. Have you ensure that the log4cxx dll and your application were compiled with the same version of cl.exe? MS likes to change ABI compatibility between versions and odd bugs like this can come up when calling across the DLL boundary. 2. Is there a reason you aren't using the LOG4CXX_INFO macro? You should be able to simply use that macro to do what you are trying to do here but in an easier way. Ex: LOG4CXX_INFO( logger, "Initializing LCCService. ConfigPath=" << configFolderPath ); I don't know if the second point will do anything, but there could be an issue with your call trying access a temporary variable on the stack. -Robert Middleton On Tue, Mar 13, 2018 at 7:11 PM, Dalecki, Janusz mailto:jdale...@tycoint.com>> wrote: Hi, I am having problem with the log4xx throwing an exception while calling logger->info() (it does not happen in Release version). I am using Visual Studio 2017 with the latest log4cxx 0.10.0. I have logger defined like this: log4cxx::LoggerPtr LCCService::logger(log4cxx::Logger::getLogger("LCCService")); .. then I try to log a message like this: o.str(""); o << "Initializing LCCService. ConfigPath=" << configFolderPath; logger->info(o.str().c_str()); That causes an exception: [cid:image001.jpg@01D3BBA2.7001F970] … and the stack looks like this: [cid:image002.jpg@01D3BBA2.7001F970] Can anyone explained that?. I have to admit I have not been actively using C++ for some time. Regards, Janusz This e-mail contains privileged and confidential information intended for the use of the addressees named above. If you are not the intended recipient of this e-mail, you are hereby notified that you must not disseminate, copy or take any action in respect of any information contained in it. If you have received this e-mail in error, please notify the sender immediately by e-mail and immediately destroy this e-mail and its attachments. This e-mail contains privileged and confidential information intended for the use of the addressees named above. If you are not the intended recipient of this e-mail, you are hereby notified that you must not disseminate, copy or take any action in respect of any information contained in it. If you have received this e-mail in error, please notify the sender immediately by e-mail and immediately destroy this e-mail and its attachments.
Re: Exception when calling logger->info() method
Two quick thoughts: 1. Have you ensure that the log4cxx dll and your application were compiled with the same version of cl.exe? MS likes to change ABI compatibility between versions and odd bugs like this can come up when calling across the DLL boundary. 2. Is there a reason you aren't using the LOG4CXX_INFO macro? You should be able to simply use that macro to do what you are trying to do here but in an easier way. Ex: LOG4CXX_INFO( logger, "Initializing LCCService. ConfigPath=" << configFolderPath ); I don't know if the second point will do anything, but there could be an issue with your call trying access a temporary variable on the stack. -Robert Middleton On Tue, Mar 13, 2018 at 7:11 PM, Dalecki, Janusz wrote: > Hi, > > I am having problem with the log4xx throwing an exception while calling > logger->info() (it does not happen in Release version). I am using Visual > Studio 2017 with the latest log4cxx 0.10.0. > > I have logger defined like this: > > *log4cxx::**LoggerPtr* *LCCService**::logger(log4cxx::**Logger* > *::getLogger(**"LCCService"**));* > > .. then I try to log a message like this: > > *o.str(**""**);* > > * o **<<* *"Initializing LCCService. ConfigPath="* *<<** > configFolderPath;* > > * logger**->**info(o.str().c_str());* > > That causes an exception: > > … and the stack looks like this: > > Can anyone explained that?. I have to admit I have not been actively using > C++ for some time. > > Regards, > > Janusz > > > > > > -- > > This e-mail contains privileged and confidential information intended for > the use of the addressees named above. If you are not the intended > recipient of this e-mail, you are hereby notified that you must not > disseminate, copy or take any action in respect of any information > contained in it. If you have received this e-mail in error, please notify > the sender immediately by e-mail and immediately destroy this e-mail and > its attachments. >
Exception when calling logger->info() method
Hi, I am having problem with the log4xx throwing an exception while calling logger->info() (it does not happen in Release version). I am using Visual Studio 2017 with the latest log4cxx 0.10.0. I have logger defined like this: log4cxx::LoggerPtr LCCService::logger(log4cxx::Logger::getLogger("LCCService")); .. then I try to log a message like this: o.str(""); o << "Initializing LCCService. ConfigPath=" << configFolderPath; logger->info(o.str().c_str()); That causes an exception: [cid:image001.jpg@01D3BB7C.BFFD1750] ... and the stack looks like this: [cid:image002.jpg@01D3BB7C.BFFD1750] Can anyone explained that?. I have to admit I have not been actively using C++ for some time. Regards, Janusz This e-mail contains privileged and confidential information intended for the use of the addressees named above. If you are not the intended recipient of this e-mail, you are hereby notified that you must not disseminate, copy or take any action in respect of any information contained in it. If you have received this e-mail in error, please notify the sender immediately by e-mail and immediately destroy this e-mail and its attachments.