1 Star 0 Fork 0

soui3-demo/SlogViewer

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
LogParser.h 1.13 KB
一键复制 编辑 原始数据 按行查看 历史
huangjianxiong 提交于 2017-10-20 11:19 . 调整logviewer
#pragma once
#include "SLogAdapter.h"
class CLogParse : public TObjRefImpl<ILogParse>
{
public:
CLogParse(const SStringW & strName,const SStringW & strFmt, const SStringW & strLevels,int nCodePage);
virtual BOOL ParseLine(LPCWSTR pszLine,int nLen,SLogInfo **ppLogInfo) const;
virtual int GetLevels() const;
virtual void GetLevelText(wchar_t szLevels[][MAX_LEVEL_LENGTH]) const;
virtual SStringW GetName() const;
virtual bool IsFieldValid(Field field) const;
virtual int GetCodePage() const;
virtual BOOL TestLogBuffer(LPCSTR pszBuf, int nLength);
private:
Field DetectField(LPCWSTR pszBuf) const;
int FindNextField(const SStringW & strFmt,int iStart,Field &iField,int &nFieldLength) const;
LPCWSTR StrRStr(LPCWSTR pszSource,LPCWSTR pszTail,LPCWSTR pszDest) const;
void FillField(SLogInfo *ppLogInfo, LPCWSTR pszHead,LPCWSTR pszTail,int fieldId) const;
int Str2Level(const SStringW & strLevel) const;
private:
SStringWList m_levels;
SStringWList m_seps;
struct FieldInfo
{
Field field;
int nLeastLength;
};
SArray<FieldInfo> m_fields;
SStringW m_strName;
int m_codePage;
};
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/soui3-demo/SlogViewer.git
git@gitee.com:soui3-demo/SlogViewer.git
soui3-demo
SlogViewer
SlogViewer
master

搜索帮助