You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4cxx-dev@logging.apache.org by ca...@apache.org on 2008/01/26 02:59:35 UTC
svn commit: r615425 - in /logging/log4cxx/trunk: build.xml
src/main/cpp/locationinfo.cpp src/main/cpp/loggingevent.cpp
src/main/cpp/objectoutputstream.cpp
src/main/include/log4cxx/helpers/objectoutputstream.h
src/main/include/log4cxx/spi/loggingevent.h
Author: carnold
Date: Fri Jan 25 17:59:34 2008
New Revision: 615425
URL: http://svn.apache.org/viewvc?rev=615425&view=rev
Log:
LOGCXX-7: Allow reuse of class descriptions for SocketAppender
Modified:
logging/log4cxx/trunk/build.xml
logging/log4cxx/trunk/src/main/cpp/locationinfo.cpp
logging/log4cxx/trunk/src/main/cpp/loggingevent.cpp
logging/log4cxx/trunk/src/main/cpp/objectoutputstream.cpp
logging/log4cxx/trunk/src/main/include/log4cxx/helpers/objectoutputstream.h
logging/log4cxx/trunk/src/main/include/log4cxx/spi/loggingevent.h
Modified: logging/log4cxx/trunk/build.xml
URL: http://svn.apache.org/viewvc/logging/log4cxx/trunk/build.xml?rev=615425&r1=615424&r2=615425&view=diff
==============================================================================
--- logging/log4cxx/trunk/build.xml (original)
+++ logging/log4cxx/trunk/build.xml Fri Jan 25 17:59:34 2008
@@ -796,81 +796,9 @@
</cc>
</target>
-<target name="build-defaultinit-unittest" depends="build, build-cppunit"
- description="Builds test of default init">
- <mkdir dir="${log4cxx.lib.dir}/log4cxx-test_obj"/>
- <property name="project.compiler" value="${compiler}"/>
- <cc name="${project.compiler}"
- exceptions="true"
- outfile="${log4cxx.lib.dir}/log4cxx-defaultinit-test"
- subsystem="console"
- multithreaded="true"
- outputfileproperty="log4cxx-defaultinit-test.exe"
- outtype="executable"
- objdir="${log4cxx.lib.dir}/log4cxx-test_obj"
- debug="${debug}"
- projectsOnly="${projectsOnly}">
- <fileset dir="${tests.cpp.dir}" includes="defaultinit/*.cpp main.cpp">
- </fileset>
- <includepath path="${cppunit.include.dir}" if="cppunit.include.dir"/>
- <includepath path="${include.dir}"/>
- <includepath path="${apr.include.dir}"/>
- <includepath path="${aprutil.include.dir}"/>
- <defineset define="LOG4CXX_STATIC" if="is-static"/>
- <defineset define="APR_DECLARE_STATIC" if="apr-static"/>
- <defineset define="APU_DECLARE_STATIC" if="aprutil-static"/>
- <defineset define="WIN32" if="is-windows"/>
- <compilerarg value="${pic-option}" if="pic-option"/>
-
- <libset libs="log4cxx${lib-suffix}" dir="${log4cxx.lib.dir}"/>
- <libset libs="${cppunit.lib.name}${lib-suffix}" dir="${cppunit.lib.dir}" if="cppunit.lib.dir"/>
- <libset libs="${cppunit.lib.name}${lib-suffix}" unless="cppunit.lib.dir"/>
- <libset libs="dl" if="is-unix"/>
- &libsets;
-
- <project outfile="${project.dir}/log4cxx-defaultinit-test"
- type="${project.type}"
- if="project.if"/>
- </cc>
-</target>
-<target name="make-unittest">
- <mkdir dir="${log4cxx.lib.dir}/log4cxx-test_obj"/>
-
- <property name="project.compiler" value="${compiler}"/>
- <cc name="${project.compiler}"
- exceptions="true"
- outfile="${log4cxx.lib.dir}/${outfile.name}"
- subsystem="console"
- multithreaded="true"
- outputfileproperty="${outfile.property}"
- outtype="executable"
- objdir="${log4cxx.lib.dir}/log4cxx-test_obj"
- debug="${debug}"
- projectsOnly="${projectsOnly}">
- <fileset dir="${tests.cpp.dir}" includes="${src.pattern}">
- </fileset>
- <includepath path="${cppunit.include.dir}" if="cppunit.include.dir"/>
- <includepath path="${include.dir}"/>
- <includepath path="${apr.include.dir}"/>
- <includepath path="${aprutil.include.dir}"/>
- <defineset define="LOG4CXX_STATIC" if="is-static"/>
- <defineset define="APR_DECLARE_STATIC" if="apr-static"/>
- <defineset define="APU_DECLARE_STATIC" if="aprutil-static"/>
- <defineset define="WIN32" if="is-windows"/>
- <compilerarg value="${pic-option}" if="pic-option"/>
-
- <libset libs="log4cxx${lib-suffix}" dir="${log4cxx.lib.dir}"/>
- <libset libs="${cppunit.lib.name}${lib-suffix}" dir="${cppunit.lib.dir}" if="cppunit.lib.dir"/>
- <libset libs="${cppunit.lib.name}${lib-suffix}" unless="cppunit.lib.dir"/>
- &libsets;
-
- <project outfile="${project.dir}/log4cxx-test" type="${project.type}" if="project.if"/>
- </cc>
-</target>
-
<target name="build-standalone-unittest"
depends="build-cppunit"
description="Builds a unit tests + log4cxx executable">
@@ -925,7 +853,7 @@
</delete>
</target>
-<target name="run-defaultinit-unittest" depends="build-defaultinit-unittest"
+<target name="run-defaultinit-unittest" depends="build-unittest"
description="Runs default init unit tests">
<mkdir dir="${tests.output.dir}"/>
@@ -943,7 +871,7 @@
<delete file="${log4cxx.lib.dir}/log4*.xml"/>
<copy tofile="${log4cxx.lib.dir}/log4j.properties"
file="${defaultInit3.properties}" overwrite="true"/>
- <exec executable="${log4cxx-defaultinit-test.exe}" dir="${log4cxx.lib.dir}"
+ <exec executable="${log4cxx-test.exe}" dir="${log4cxx.lib.dir}"
failonerror="true">
<arg value="TestCase3"/>
<env key="DYLD_LIBRARY_PATH"
@@ -956,7 +884,7 @@
<replace file="${log4cxx.lib.dir}/log4j.properties" token="D3" value="D4"/>
<copy tofile="${log4cxx.lib.dir}/log4cxx.properties"
file="${defaultInit3.properties}"/>
- <exec executable="${log4cxx-defaultinit-test.exe}" dir="${log4cxx.lib.dir}"
+ <exec executable="${log4cxx-test.exe}" dir="${log4cxx.lib.dir}"
failonerror="true">
<arg value="TestCase3"/>
<env key="DYLD_LIBRARY_PATH"
@@ -971,7 +899,7 @@
<copy tofile="${log4cxx.lib.dir}/log4j.xml"
file="${defaultInit.xml}"/>
<copy todir="${log4cxx.lib.dir}" file="${tests.resources.dir}/input/xml/log4j.dtd"/>
- <exec executable="${log4cxx-defaultinit-test.exe}" dir="${log4cxx.lib.dir}"
+ <exec executable="${log4cxx-test.exe}" dir="${log4cxx.lib.dir}"
failonerror="true">
<arg value="TestCase4"/>
<env key="LD_LIBRARY_PATH"
@@ -985,7 +913,7 @@
<fileset dir="${tests.resources.dir}/output"/>
</delete>
- <exec executable="${log4cxx-defaultinit-test.exe}" dir="${tests.resources.dir}"
+ <exec executable="${log4cxx-test.exe}" dir="${tests.resources.dir}"
failonerror="true">
<arg value="TestCase3"/>
<env key="LD_LIBRARY_PATH"
@@ -997,7 +925,7 @@
</exec>
<!-- test of LOG4CXX_CONFIGURATION -->
- <exec executable="${log4cxx-defaultinit-test.exe}" dir="${tests.resources.dir}"
+ <exec executable="${log4cxx-test.exe}" dir="${tests.resources.dir}"
failonerror="true">
<arg value="TestCase3"/>
<env key="LD_LIBRARY_PATH"
Modified: logging/log4cxx/trunk/src/main/cpp/locationinfo.cpp
URL: http://svn.apache.org/viewvc/logging/log4cxx/trunk/src/main/cpp/locationinfo.cpp?rev=615425&r1=615424&r2=615425&view=diff
==============================================================================
--- logging/log4cxx/trunk/src/main/cpp/locationinfo.cpp (original)
+++ logging/log4cxx/trunk/src/main/cpp/locationinfo.cpp Fri Jan 25 17:59:34 2008
@@ -146,19 +146,22 @@
void LocationInfo::write(ObjectOutputStream& os, Pool& p) const {
if (lineNumber == -1 && fileName == NA && methodName == NA_METHOD) {
- os.writeByte(ObjectOutputStream::TC_NULL, p);
+ os.writeNull(p);
} else {
char prolog[] = {
- 0x73, 0x72, 0x00, 0x21, 0x6F, 0x72, 0x67, 0x2E,
+ 0x72, 0x00, 0x21, 0x6F, 0x72, 0x67, 0x2E,
0x61, 0x70, 0x61, 0x63, 0x68, 0x65, 0x2E, 0x6C,
0x6F, 0x67, 0x34, 0x6A, 0x2E, 0x73, 0x70, 0x69,
0x2E, 0x4C, 0x6F, 0x63, 0x61, 0x74, 0x69, 0x6F,
0x6E, 0x49, 0x6E, 0x66, 0x6F, 0xED, 0x99, 0xBB,
0xE1, 0x4A, 0x91, 0xA5, 0x7C, 0x02, 0x00, 0x01,
0x4C, 0x00, 0x08, 0x66, 0x75, 0x6C, 0x6C, 0x49,
- 0x6E, 0x66, 0x6F, 0x71, 0x00, 0x7E, 0x00, 0x01,
- 0x78, 0x70, 0x74 };
- os.writeBytes(prolog, sizeof(prolog), p);
+ 0x6E, 0x66, 0x6F,
+ 0x74, 0x00, 0x12, 0x4C, 0x6A,
+ 0x61, 0x76, 0x61, 0x2F, 0x6C, 0x61, 0x6E, 0x67,
+ 0x2F, 0x53, 0x74, 0x72, 0x69, 0x6E, 0x67, 0x3B,
+ 0x78, 0x70 };
+ os.writeProlog("org.apache.log4j.spi.LocationInfo", 2, prolog, sizeof(prolog), p);
char* line = apr_itoa((apr_pool_t*) p.getAPRPool(), lineNumber);
//
// construct Java-like fullInfo (replace "::" with ".")
@@ -185,12 +188,7 @@
fullInfo.append(1, ':');
fullInfo.append(line);
fullInfo.append(1, ')');
- size_t len = fullInfo.length();
- char lenBytes[2];
- lenBytes[1] = len & 0xFF;
- lenBytes[0] = (len >> 8) & 0xFF;
- os.writeBytes(lenBytes, sizeof(lenBytes), p);
- os.writeBytes(fullInfo.data(), len, p);
+ os.writeUTFString(fullInfo, p);
}
}
Modified: logging/log4cxx/trunk/src/main/cpp/loggingevent.cpp
URL: http://svn.apache.org/viewvc/logging/log4cxx/trunk/src/main/cpp/loggingevent.cpp?rev=615425&r1=615424&r2=615425&view=diff
==============================================================================
--- logging/log4cxx/trunk/src/main/cpp/loggingevent.cpp (original)
+++ logging/log4cxx/trunk/src/main/cpp/loggingevent.cpp Fri Jan 25 17:59:34 2008
@@ -234,7 +234,7 @@
-void LoggingEvent::writeClassDesc(ObjectOutputStream& os, Pool& p) {
+void LoggingEvent::writeProlog(ObjectOutputStream& os, Pool& p) {
char classDesc[] = {
0x72, 0x00, 0x21,
0x6F, 0x72, 0x67, 0x2E, 0x61, 0x70, 0x61, 0x63,
@@ -265,13 +265,22 @@
0x00, 0x15, 0x4C, 0x6A, 0x61, 0x76, 0x61, 0x2F,
0x75, 0x74, 0x69, 0x6C, 0x2F, 0x48, 0x61, 0x73,
0x68, 0x74, 0x61, 0x62, 0x6C, 0x65, 0x3B, 0x4C,
- 0x00, 0x03, 0x6E, 0x64, 0x63, 0x71, 0x00, 0x7E,
- 0x00, 0x01, 0x4C, 0x00, 0x0F, 0x72, 0x65, 0x6E,
+ 0x00, 0x03, 0x6E, 0x64, 0x63,
+ 0x74, 0x00, 0x12, 0x4C, 0x6A,
+ 0x61, 0x76, 0x61, 0x2F, 0x6C, 0x61, 0x6E, 0x67,
+ 0x2F, 0x53, 0x74, 0x72, 0x69, 0x6E, 0x67, 0x3B,
+ 0x4C, 0x00, 0x0F, 0x72, 0x65, 0x6E,
0x64, 0x65, 0x72, 0x65, 0x64, 0x4D, 0x65, 0x73,
- 0x73, 0x61, 0x67, 0x65, 0x71, 0x00, 0x7E, 0x00,
- 0x01, 0x4C, 0x00, 0x0A, 0x74, 0x68, 0x72, 0x65,
- 0x61, 0x64, 0x4E, 0x61, 0x6D, 0x65, 0x71, 0x00,
- 0x7E, 0x00, 0x01, 0x4C, 0x00, 0x0D, 0x74, 0x68,
+ 0x73, 0x61, 0x67, 0x65,
+ 0x74, 0x00, 0x12, 0x4C, 0x6A,
+ 0x61, 0x76, 0x61, 0x2F, 0x6C, 0x61, 0x6E, 0x67,
+ 0x2F, 0x53, 0x74, 0x72, 0x69, 0x6E, 0x67, 0x3B,
+ 0x4C, 0x00, 0x0A, 0x74, 0x68, 0x72, 0x65,
+ 0x61, 0x64, 0x4E, 0x61, 0x6D, 0x65,
+ 0x74, 0x00, 0x12, 0x4C, 0x6A,
+ 0x61, 0x76, 0x61, 0x2F, 0x6C, 0x61, 0x6E, 0x67,
+ 0x2F, 0x53, 0x74, 0x72, 0x69, 0x6E, 0x67, 0x3B,
+ 0x4C, 0x00, 0x0D, 0x74, 0x68,
0x72, 0x6F, 0x77, 0x61, 0x62, 0x6C, 0x65, 0x49,
0x6E, 0x66, 0x6F, 0x74, 0x00, 0x2B, 0x4C, 0x6F,
0x72, 0x67, 0x2F, 0x61, 0x70, 0x61, 0x63, 0x68,
@@ -281,13 +290,12 @@
0x6F, 0x72, 0x6D, 0x61, 0x74, 0x69, 0x6F, 0x6E,
0x3B, 0x78, 0x70 };
- os.writeBytes(classDesc, sizeof(classDesc), p);
-
+ os.writeProlog("org.apache.log4j.spi.LoggingEvent",
+ 8, classDesc, sizeof(classDesc), p);
}
void LoggingEvent::write(helpers::ObjectOutputStream& os, Pool& p) const {
- os.writeByte(ObjectOutputStream::TC_OBJECT, p);
- writeClassDesc(os, p);
+ writeProlog(os, p);
// mdc and ndc lookup required should always be false
char lookupsRequired[] = { 0, 0 };
os.writeBytes(lookupsRequired, sizeof(lookupsRequired), p);
@@ -295,23 +303,23 @@
os.writeObject(logger->getName(), p);
locationInfo.write(os, p);
if (mdcCopy == 0 || mdcCopy->size() == 0) {
- os.writeByte(ObjectOutputStream::TC_NULL, p);
+ os.writeNull(p);
} else {
os.writeObject(*mdcCopy, p);
}
if (ndc == 0) {
- os.writeByte(ObjectOutputStream::TC_NULL, p);
+ os.writeNull(p);
} else {
os.writeObject(*ndc, p);
}
os.writeObject(message, p);
os.writeObject(threadName, p);
// throwable
- os.writeByte(ObjectOutputStream::TC_NULL, p);
+ os.writeNull(p);
os.writeByte(ObjectOutputStream::TC_BLOCKDATA, p);
os.writeByte(0x04, p);
os.writeInt(level->toInt(), p);
- os.writeByte(ObjectOutputStream::TC_NULL, p);
+ os.writeNull(p);
os.writeByte(ObjectOutputStream::TC_ENDBLOCKDATA, p);
}
Modified: logging/log4cxx/trunk/src/main/cpp/objectoutputstream.cpp
URL: http://svn.apache.org/viewvc/logging/log4cxx/trunk/src/main/cpp/objectoutputstream.cpp?rev=615425&r1=615424&r2=615425&view=diff
==============================================================================
--- logging/log4cxx/trunk/src/main/cpp/objectoutputstream.cpp (original)
+++ logging/log4cxx/trunk/src/main/cpp/objectoutputstream.cpp Fri Jan 25 17:59:34 2008
@@ -28,7 +28,10 @@
IMPLEMENT_LOG4CXX_OBJECT(ObjectOutputStream)
ObjectOutputStream::ObjectOutputStream(OutputStreamPtr outputStream, Pool& p)
- : os(outputStream) , utf8Encoder(CharsetEncoder::getUTF8Encoder())
+ : os(outputStream) ,
+ utf8Encoder(CharsetEncoder::getUTF8Encoder()),
+ objectHandle(0x7E0000),
+ classDescriptions(new ClassDescriptionMap())
{
char start[] = { 0xAC, 0xED, 0x00, 0x05 };
ByteBuffer buf(start, sizeof(start));
@@ -36,6 +39,7 @@
}
ObjectOutputStream::~ObjectOutputStream() {
+ delete classDescriptions;
}
void ObjectOutputStream::close(Pool& p) {
@@ -47,8 +51,26 @@
}
void ObjectOutputStream::writeObject(const LogString& val, Pool& p) {
+ objectHandle++;
writeByte(TC_STRING, p);
- writeUTF(val, p);
+ char bytes[2];
+#if LOG4CXX_LOGCHAR_IS_UTF8
+ size_t len = val.size();
+ ByteBuffer dataBuf(const_cast<char*>(val.data()), val.size());
+#else
+ size_t maxSize = 6 * val.size();
+ char* data = (char*) apr_palloc((apr_pool_t*) p.getAPRPool(), maxSize);
+ ByteBuffer dataBuf(data, maxSize);
+ LogString::const_iterator iter(val.begin());
+ utf8Encoder->encode(val, iter, dataBuf);
+ dataBuf.flip();
+ size_t len = dataBuf.limit();
+#endif
+ bytes[1] = len & 0xFF;
+ bytes[0] = (len >> 8) & 0xFF;
+ ByteBuffer lenBuf(bytes, sizeof(bytes));
+ os->write(lenBuf, p);
+ os->write(dataBuf, p);
}
@@ -57,7 +79,7 @@
// TC_OBJECT and the classDesc for java.util.Hashtable
//
char prolog[] = {
- 0x73, 0x72, 0x00, 0x13, 0x6A, 0x61, 0x76, 0x61,
+ 0x72, 0x00, 0x13, 0x6A, 0x61, 0x76, 0x61,
0x2E, 0x75, 0x74, 0x69, 0x6C, 0x2E, 0x48, 0x61,
0x73, 0x68, 0x74, 0x61, 0x62, 0x6C, 0x65, 0x13,
0xBB, 0x0F, 0x25, 0x21, 0x4A, 0xE4, 0xB8, 0x03,
@@ -65,8 +87,7 @@
0x64, 0x46, 0x61, 0x63, 0x74, 0x6F, 0x72, 0x49,
0x00, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68,
0x6F, 0x6C, 0x64, 0x78, 0x70 };
- ByteBuffer prologBuf(prolog, sizeof(prolog));
- os->write(prologBuf, p);
+ writeProlog("java.util.Hashtable", 1, prolog, sizeof(prolog), p);
//
// loadFactor = 0.75, threshold = 5, blockdata start, buckets.size = 7
char data[] = { 0x3F, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05,
@@ -90,27 +111,21 @@
writeByte(TC_ENDBLOCKDATA, p);
}
-void ObjectOutputStream::writeUTF(const LogString& val, Pool& p) {
- char bytes[2];
-#if LOG4CXX_LOGCHAR_IS_UTF8
+void ObjectOutputStream::writeUTFString(const std::string& val, Pool& p) {
+ char bytes[3];
size_t len = val.size();
ByteBuffer dataBuf(const_cast<char*>(val.data()), val.size());
-#else
- size_t maxSize = 6 * val.size();
- char* data = (char*) apr_palloc((apr_pool_t*) p.getAPRPool(), maxSize);
- ByteBuffer dataBuf(data, maxSize);
- LogString::const_iterator iter(val.begin());
- utf8Encoder->encode(val, iter, dataBuf);
- dataBuf.flip();
- size_t len = dataBuf.limit();
-#endif
- bytes[1] = len & 0xFF;
- bytes[0] = (len >> 8) & 0xFF;
+ objectHandle++;
+ bytes[0] = 0x74;
+ bytes[1] = (len >> 8) & 0xFF;
+ bytes[2] = len & 0xFF;
ByteBuffer lenBuf(bytes, sizeof(bytes));
os->write(lenBuf, p);
os->write(dataBuf, p);
}
+
+
void ObjectOutputStream::writeByte(char val, Pool& p) {
ByteBuffer buf(&val, 1);
os->write(buf, p);
@@ -144,3 +159,33 @@
ByteBuffer buf(const_cast<char*>(bytes), len);
os->write(buf, p);
}
+
+void ObjectOutputStream::writeNull(Pool& p) {
+ writeByte(TC_NULL, p);
+}
+
+void ObjectOutputStream::writeProlog(const char* className,
+ int classDescIncrement,
+ char* classDesc,
+ size_t len,
+ Pool& p) {
+ ClassDescriptionMap::const_iterator match = classDescriptions->find(className);
+ if (match != classDescriptions->end()) {
+ char bytes[6];
+ bytes[0] = TC_OBJECT;
+ bytes[1] = TC_REFERENCE;
+ bytes[2] = (match->second >> 24) & 0xFF;
+ bytes[3] = (match->second >> 16) & 0xFF;
+ bytes[4] = (match->second >> 8) & 0xFF;
+ bytes[5] = match->second & 0xFF;
+ ByteBuffer buf(bytes, sizeof(bytes));
+ os->write(buf, p);
+ objectHandle++;
+ } else {
+ classDescriptions->insert(ClassDescriptionMap::value_type(className, objectHandle));
+ writeByte(TC_OBJECT, p);
+ ByteBuffer buf(classDesc, len);
+ os->write(buf, p);
+ objectHandle += (classDescIncrement + 1);
+ }
+}
Modified: logging/log4cxx/trunk/src/main/include/log4cxx/helpers/objectoutputstream.h
URL: http://svn.apache.org/viewvc/logging/log4cxx/trunk/src/main/include/log4cxx/helpers/objectoutputstream.h?rev=615425&r1=615424&r2=615425&view=diff
==============================================================================
--- logging/log4cxx/trunk/src/main/include/log4cxx/helpers/objectoutputstream.h (original)
+++ logging/log4cxx/trunk/src/main/include/log4cxx/helpers/objectoutputstream.h Fri Jan 25 17:59:34 2008
@@ -44,13 +44,17 @@
void close(Pool& p);
void flush(Pool& p);
- void writeUTF(const LogString&, Pool& p);
void writeObject(const LogString&, Pool& p);
+ void writeUTFString(const std::string&, Pool& p);
void writeObject(const MDC::Map& mdc, Pool& p);
void writeInt(int val, Pool& p);
void writeLong(log4cxx_time_t val, Pool& p);
- void writeByte(char val, Pool& p);
- void writeBytes(const char* bytes, size_t len, Pool& p);
+ void writeProlog(const char* className,
+ int classDescIncrement,
+ char* bytes,
+ size_t len,
+ Pool& p);
+ void writeNull(Pool& p);
enum { STREAM_MAGIC = 0xACED };
enum { STREAM_VERSION = 5 };
@@ -67,12 +71,18 @@
SC_WRITE_METHOD = 0x01,
SC_SERIALIZABLE = 0x02 };
+ void writeByte(char val, Pool& p);
+ void writeBytes(const char* bytes, size_t len, Pool& p);
+
private:
ObjectOutputStream(const ObjectOutputStream&);
ObjectOutputStream& operator=(const ObjectOutputStream&);
OutputStreamPtr os;
log4cxx::helpers::CharsetEncoderPtr utf8Encoder;
+ unsigned int objectHandle;
+ typedef std::map<std::string, unsigned int> ClassDescriptionMap;
+ ClassDescriptionMap* classDescriptions;
};
LOG4CXX_PTR_DEF(ObjectOutputStream)
Modified: logging/log4cxx/trunk/src/main/include/log4cxx/spi/loggingevent.h
URL: http://svn.apache.org/viewvc/logging/log4cxx/trunk/src/main/include/log4cxx/spi/loggingevent.h?rev=615425&r1=615424&r2=615425&view=diff
==============================================================================
--- logging/log4cxx/trunk/src/main/include/log4cxx/spi/loggingevent.h (original)
+++ logging/log4cxx/trunk/src/main/include/log4cxx/spi/loggingevent.h Fri Jan 25 17:59:34 2008
@@ -262,7 +262,7 @@
LoggingEvent& operator=(const LoggingEvent&);
static const LogString getCurrentThreadName();
- static void writeClassDesc(log4cxx::helpers::ObjectOutputStream& os, log4cxx::helpers::Pool& p);
+ static void writeProlog(log4cxx::helpers::ObjectOutputStream& os, log4cxx::helpers::Pool& p);
};