[ https://issues.apache.org/jira/browse/LOGCXX-378?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Thorsten Schöning resolved LOGCXX-378. -------------------------------------- Resolution: Duplicate This is a duplicate of LOGCXX-370. > Unicode characters not substituted correctly from environment variables in > log configuration file > ------------------------------------------------------------------------------------------------- > > Key: LOGCXX-378 > URL: https://issues.apache.org/jira/browse/LOGCXX-378 > Project: Log4cxx > Issue Type: Bug > Components: Configurator > Affects Versions: 0.10.0 > Environment: Windows 7 64 bit, log4cxx built with VS2005 > Reporter: Jason Whitwill > Assignee: Curt Arnold > Priority: Minor > > Under region and language in the control panel, everything is set to English > (United States) The user name has Chinese characters which are interpreted > correctly in Windows Explorer and in my Unicode MFC application. > When using environment variables for the filename (not the path) I get a file > output but the characters of the file name are garbled (from some other > language). > If I execute the following code snippet, it interprets the environment > variable correctly and the file is output with the correct path and file name. > wchar_t lPathPtr[2048]; > size_t lPathSize = 0; > _wgetenv_s( &lPathSize, lPathPtr, 2048, L"APPDATA" ); > if ( lPathPtr != NULL ) > { > wchar_t lPath[2048]; > StringCbPrintfW(lPath, 2048, L"%s\\unicode_test.txt", lPathPtr); > > log4cxx::LayoutPtr layout(new log4cxx::SimpleLayout()); > log4cxx::FileAppenderPtr appender(new log4cxx::FileAppender(layout, > lPath, true)); > LoggerPtr logger(Logger::getLogger("MyApp")); > logger->addAppender( appender ); > > wchar_t lString[512]; > mTextBox.GetWindowTextW( lString, 512 ); > LOG4CXX_INFO(logger, lString ); > } > However if I create a configuration file that looks like this... > log4j.rootLogger=info, R > log4j.appender.R=org.apache.log4j.RollingFileAppender > log4j.appender.R.File=${TESTENV} > log4j.appender.R.MaxFileSize=100KB > log4j.appender.R.MaxBackupIndex=1 > log4j.appender.R.layout=org.apache.log4j.PatternLayout > log4j.appender.R.layout.ConversionPattern=%r %p %t %c - %m%n > ...and open that configuration file with a code snippet that looks like > this... > LoggerPtr logger(Logger::getLogger("MyApp")); > PropertyConfigurator::configure("test.logcfg"); > LOG4CXX_INFO(logger, "Entering application."); > ... the file name ends up being garbled with funny characters. > Obviously if I replace ${TESTENV} with ${APPDATA}/unicode_test.txt, I don't > see any output because the garbled folder path doesn't exist. This seems to > be the case for European characters outside of the ascii range as well (like > the german umlaut or the accent aigu in French). -- This message was sent by Atlassian JIRA (v6.1.5#6160)