123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- #pragma once
- #include <memory>
- #pragma warning (disable : 4251)
- #include "Log4CPP.Define.hpp"
- #include "Log4CPP.LoggingEvent.hpp"
- #include "Log4CPP.LogLevel.hpp"
- //-----------------------------------------------------------------------------
- // Appender
- //-----------------------------------------------------------------------------
- namespace Log4CPP
- {
- class Layout;
- class Filter;
- }
- namespace Log4CPP
- {
- class Log4CPP_API Appender
- {
- Appender (const Appender &) = delete;
- Appender (Appender &&) = delete;
- Appender & operator = (const Appender &) = delete;
- Appender & operator = (Appender &&) = delete;
- public:
- Appender ();
- virtual ~Appender () = 0;
- public:
- virtual bool Open ();
- virtual void Close ();
- bool IsClosed () const { return m_bClosed; }
- public:
- virtual void Append (LoggingEvent * pkt) = 0;
- public:
- void SetName (CV_String & Name);
- TLogString GetName () const; // m_Name
- TLogString GetType () const; // m_Type
- void SetThreshold (int value);
- int GetThreshold () const { return static_cast <int> (m_Threshold); }
- public:
- virtual void SetLayout (LayoutPtr layout);
- virtual Layout * GetLayout ();
- virtual void AddFilter (FilterPtr filter);
- virtual void NewLine (int Level) {}
- virtual void SetOption (const TLogString & key, const TLogString & value);
- // 所有配置装载完毕后, 调用这个函数
- virtual void ActivateOptions () {}
- public:
- TLogString Rendering (const LoggingEvent & pkt);
- protected:
- bool Decide (const LoggingEvent & pkt) const;
- protected:
- long m_SeriesNo;
- enLogLevel m_Threshold = enLogLevel::enUndefined;
- bool m_bClosed = true;
- TLogString m_Name;
- TLogString m_Type;
- TLogString m_Header;
- TLogString m_Footer;
- std::shared_ptr <Layout> m_Layout;
- std::list <std::shared_ptr <Filter>> m_arFilter;
- };
- }
|