This file is indexed.

/usr/include/log4cxx/net/syslogappender.h is in liblog4cxx-dev 0.10.0-13ubuntu2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
/*
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#ifndef _LOG4CXX_NET_SYSLOG_APPENDER_H
#define _LOG4CXX_NET_SYSLOG_APPENDER_H

#include <log4cxx/appenderskeleton.h>
#include <log4cxx/helpers/syslogwriter.h>

namespace log4cxx
{
        namespace net
        {
                /** Use SyslogAppender to send log messages to a remote syslog daemon.*/
                class LOG4CXX_EXPORT SyslogAppender : public AppenderSkeleton
                {
                public:
                        DECLARE_LOG4CXX_OBJECT(SyslogAppender)
                        BEGIN_LOG4CXX_CAST_MAP()
                                LOG4CXX_CAST_ENTRY(SyslogAppender)
                                LOG4CXX_CAST_ENTRY_CHAIN(AppenderSkeleton)
                        END_LOG4CXX_CAST_MAP()



                        SyslogAppender();
                        SyslogAppender(const LayoutPtr& layout, int syslogFacility);
                        SyslogAppender(const LayoutPtr& layout,
                                const LogString& syslogHost, int syslogFacility);
                        ~SyslogAppender();
                        /** Release any resources held by this SyslogAppender.*/
                        void close();

                        /**
                        Returns the specified syslog facility as a lower-case String,
                        e.g. "kern", "user", etc.
                        */
                        static LogString getFacilityString(int syslogFacility);

                        /**
                        Returns the integer value corresponding to the named syslog
                        facility, or -1 if it couldn't be recognized.
                        @param facilityName one of the strings KERN, USER, MAIL, DAEMON,
                        AUTH, SYSLOG, LPR, NEWS, UUCP, CRON, AUTHPRIV, FTP, LOCAL0,
                        LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7.
                        The matching is case-insensitive.
                        */
                        static int getFacility(const LogString &facilityName);

                        void append(const spi::LoggingEventPtr& event, log4cxx::helpers::Pool& p);

                        /**
                        This method returns immediately as options are activated when they
                        are set.
                        */
                        void activateOptions(log4cxx::helpers::Pool& p);
                        void setOption(const LogString& option, const LogString& value);

                        /**
                        The SyslogAppender requires a layout. Hence, this method returns
                        <code>true</code>.
                        */
                        virtual bool requiresLayout() const
                                { return true; }

                        /**
                        The <b>SyslogHost</b> option is the name of the the syslog host
                        where log output should go.
                        <b>WARNING</b> If the SyslogHost is not set, then this appender
                        will fail.
                        */
                        void setSyslogHost(const LogString& syslogHost);

                        /**
                        Returns the value of the <b>SyslogHost</b> option.
                        */
                        inline const LogString& getSyslogHost() const
                                { return syslogHost; }

                        /**
                        Set the syslog facility. This is the <b>Facility</b> option.

                        <p>The <code>facilityName</code> parameter must be one of the
                        strings KERN, USER, MAIL, DAEMON, AUTH, SYSLOG, LPR, NEWS, UUCP,
                        CRON, AUTHPRIV, FTP, LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4,
                        LOCAL5, LOCAL6, LOCAL7. Case is unimportant.
                        */
                        void setFacility(const LogString& facilityName);

                        /**
                        Returns the value of the <b>Facility</b> option.
                        */
                        inline LogString getFacility() const
                                { return getFacilityString(syslogFacility); }

                        /**
                        If the <b>FacilityPrinting</b> option is set to true, the printed
                        message will include the facility name of the application. It is
                        <em>false</em> by default.
                        */
                        inline void setFacilityPrinting(bool facilityPrinting1)
                                { this->facilityPrinting = facilityPrinting1; }

                        /**
                        Returns the value of the <b>FacilityPrinting</b> option.
                        */
                        inline bool getFacilityPrinting() const
                                { return facilityPrinting; }

                protected:
                        void initSyslogFacilityStr();

                        int syslogFacility; // Have LOG_USER as default
                        LogString facilityStr;
                        bool facilityPrinting;
                        helpers::SyslogWriter * sw;
                        LogString syslogHost;
                private:
                        SyslogAppender(const SyslogAppender&);
                        SyslogAppender& operator=(const SyslogAppender&);
                }; // class SyslogAppender
            LOG4CXX_PTR_DEF(SyslogAppender);
    } // namespace net
} // namespace log4cxx

#endif // _LOG4CXX_NET_SYSLOG_APPENDER_H