📄 nljsappender.h
字号:
#ifndef _NLJSAPPENDER_H_
#define _NLJSAPPENDER_H_
#include "nlkit/NLAppender.h"
namespace nlkit
{
class NLJSAppender : public NLAppender
{
public:
/**
* 构造函数
* @param filename: 文件名
* @param schedule: 计划,默认按天
* @param immediateFlush: 是否立即刷新,默认立即
* @param withAdorn: 是否带装饰语,默认带
* @return 无
*/
NLJSAppender(const std::string& filename,
NLDailyRollingSchedule schedule = DAILY,
bool immediateFlush = true,
bool withAdorn = true);
/**
* 虚拟析构函数
* @param 无
* @return 无
*/
virtual ~NLJSAppender();
/**
* 关闭按时间切换循环文件附加器
* @param 无
* @return 无
*/
virtual void close();
protected:
/**
* 按时间切换循环文件附加器处理事件
* @param event: 事件
* @return 无
*/
virtual void append(const NLEvent& event);
/**
* 切换处理
* @param 无
* @return 无
*/
void rollover();
/**
* 取切换时的文件名
* @param t: 当前时间
* @return string: 文件名
*/
std::string getFilename(const NLTime& t) const;
/**
* 初始化
* @param schedule: 循环类型
* @return 无
*/
void init(const std::string& filename, NLDailyRollingSchedule schedule, bool immediateFlush, bool withAdorn);
NLDailyRollingSchedule m_schedule; /**< 循环类型 */
std::string m_scheduledFilename; /**< 循环问文件名 */
NLTime m_nextRolloverTime; /**< 下一次切换时间 */
bool m_immediateFlush; /**< 是否立即刷新 */
bool m_withAdorn; /**< 是否带装饰语 */
FILE* m_out; /**< 文件输出流 */
std::string m_filename; /**< 文件名 */
};
}
#endif //_NLJSAPPENDER_H_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -