Index: src/main/cpp/syslogappender.cpp
===================================================================
325a326,336
>         LogString slHost = syslogHost1;
>         int slHostPort = -1;
> 
>         LogString::size_type colonPos = 0;
>         colonPos = slHost.rfind(':');
>         if (colonPos != LogString::npos)
>         {
>             slHostPort = StringHelper::toInt(slHost.substr(colonPos+1));
>             // Erase the :port part of the host name
>             slHost.erase( colonPos );
>         }
333c344,345
<                 this->sw = new SyslogWriter(syslogHost1);
---
>                 if (slHostPort >= 0) this->sw = new SyslogWriter(slHost, slHostPort);
>                 else this->sw = new SyslogWriter(slHost);
335c347,348
<         this->syslogHost = syslogHost1;
---
>         this->syslogHost = slHost;
>         this->syslogHostPort = slHostPort;
Index: src/main/cpp/syslogwriter.cpp
===================================================================
29,30d28
< #define SYSLOG_PORT 514
< 
34,35c32,33
< SyslogWriter::SyslogWriter(const LogString& syslogHost1)
< : syslogHost(syslogHost1)
---
> SyslogWriter::SyslogWriter(const LogString& syslogHost1, int syslogHostPort1)
> : syslogHost(syslogHost1), syslogHostPort(syslogHostPort1)
64c62
<                              address, SYSLOG_PORT));
---
>                              address, syslogHostPort));
Index: src/main/include/log4cxx/helpers/syslogwriter.h
===================================================================
37c37,38
<                         SyslogWriter(const LogString& syslogHost);
---
>                         #define SYSLOG_PORT 514
>                         SyslogWriter(const LogString& syslogHost, int syslogHostPort = SYSLOG_PORT);
41a43
>                         int syslogHostPort;
Index: src/main/include/log4cxx/net/syslogappender.h
===================================================================
131a132
>                         int syslogHostPort;
