代码拉取完成,页面将自动刷新
#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;
};
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。