userlogc.cxx
上传用户:xfwatch
上传日期:2020-12-14
资源大小:872k
文件大小:3k
源码类别:

中间件编程

开发平台:

Java

  1. /*
  2.  * JBoss, Home of Professional Open Source
  3.  * Copyright 2008, Red Hat, Inc., and others contributors as indicated
  4.  * by the @authors tag. All rights reserved.
  5.  * See the copyright.txt in the distribution for a
  6.  * full listing of individual contributors.
  7.  * This copyrighted material is made available to anyone wishing to use,
  8.  * modify, copy, or redistribute it subject to the terms and conditions
  9.  * of the GNU Lesser General Public License, v. 2.1.
  10.  * This program is distributed in the hope that it will be useful, but WITHOUT A
  11.  * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
  12.  * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
  13.  * You should have received a copy of the GNU Lesser General Public License,
  14.  * v.2.1 along with this distribution; if not, write to the Free Software
  15.  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
  16.  * MA  02110-1301, USA.
  17.  */
  18. #include <stdio.h>
  19. #include <stdlib.h>
  20. #include <string.h>
  21. #include <stdarg.h>
  22. #include <iostream>
  23. #include "log4cxx/logger.h"
  24. #include "log4cxx/basicconfigurator.h"
  25. #include "log4cxx/propertyconfigurator.h"
  26. #include "log4cxx/logmanager.h"
  27. extern "C" {
  28. #include "userlogc.h"
  29. }
  30. #include "AtmiBrokerEnv.h"
  31. #define MAXLOGSIZE 2048
  32. #include "ace/ACE.h"
  33. #include "ace/OS_NS_stdlib.h"
  34. #include "ace/OS_NS_stdio.h"
  35. #include "ace/OS_NS_string.h"
  36. log4cxx::LoggerPtr loggerAtmiBrokerLogc(log4cxx::Logger::getLogger(
  37. "AtmiBrokerLogc"));
  38. bool loggerInitialized;
  39. extern "C"BLACKTIE_CORE_DLL
  40. int userlogc_snprintf(char *str, size_t size, const char * format, ...) {
  41. va_list args;
  42. int ret;
  43. va_start(args, format);
  44. ret = vsnprintf(str, size, format, args);
  45. va_end(args);
  46. return ret;
  47. }
  48. extern "C"BLACKTIE_CORE_DLL
  49. void userlogc(const char * format, ...) {
  50. if (loggerAtmiBrokerLogc->isEnabledFor(log4cxx::Level::getInfo())) {
  51. char str[MAXLOGSIZE];
  52. va_list args;
  53. va_start(args, format);
  54. vsnprintf(str, MAXLOGSIZE, format, args);
  55. va_end(args);
  56. LOG4CXX_LOGLS(loggerAtmiBrokerLogc, log4cxx::Level::getInfo(), str);
  57. }
  58. }
  59. extern "C"BLACKTIE_CORE_DLL
  60. void userlogc_debug(const char * format, ...) {
  61. if (loggerAtmiBrokerLogc->isEnabledFor(log4cxx::Level::getDebug())) {
  62. char str[MAXLOGSIZE];
  63. va_list args;
  64. va_start(args, format);
  65. vsnprintf(str, MAXLOGSIZE, format, args);
  66. va_end(args);
  67. LOG4CXX_LOGLS(loggerAtmiBrokerLogc, log4cxx::Level::getDebug(), str);
  68. }
  69. }
  70. extern "C"BLACKTIE_CORE_DLL
  71. void userlogc_trace(const char * format, ...) {
  72. if (loggerAtmiBrokerLogc->isEnabledFor(log4cxx::Level::getTrace())) {
  73. char str[MAXLOGSIZE];
  74. va_list args;
  75. va_start(args, format);
  76. vsnprintf(str, MAXLOGSIZE, format, args);
  77. va_end(args);
  78. LOG4CXX_LOGLS(loggerAtmiBrokerLogc, log4cxx::Level::getTrace(), str);
  79. }
  80. }
  81. extern "C"BLACKTIE_CORE_DLL
  82. void userlogc_warn(const char * format, ...) {
  83. if (loggerAtmiBrokerLogc->isEnabledFor(log4cxx::Level::getWarn())) {
  84. char str[MAXLOGSIZE];
  85. va_list args;
  86. va_start(args, format);
  87. vsnprintf(str, MAXLOGSIZE, format, args);
  88. va_end(args);
  89. LOG4CXX_LOGLS(loggerAtmiBrokerLogc, log4cxx::Level::getWarn(), str);
  90. }
  91. }
  92. extern void initializeLogger() {
  93. if (!loggerInitialized) {
  94. char* config = ACE_OS::getenv("LOG4CXXCONFIG");
  95. if (config != NULL) {
  96. log4cxx::PropertyConfigurator::configure(config);
  97. } else {
  98. log4cxx::PropertyConfigurator::configure("log4cxx.properties");
  99. }
  100. loggerInitialized = true;
  101. }
  102. }