greenplumn CLoggerStream 源码

  • 2022-08-18
  • 浏览 (350)

greenplumn CLoggerStream 代码

文件路径:/src/backend/gporca/libgpos/include/gpos/error/CLoggerStream.h

//---------------------------------------------------------------------------
//	Greenplum Database
//	Copyright (C) 2010 Greenplum, Inc.
//
//	@filename:
//		CLoggerStream.h
//
//	@doc:
//		Implementation of logging interface over stream
//---------------------------------------------------------------------------
#ifndef GPOS_CLoggerStream_H
#define GPOS_CLoggerStream_H

#include "gpos/error/CLogger.h"
#include "gpos/io/IOstream.h"

namespace gpos
{
//---------------------------------------------------------------------------
//	@class:
//		CLoggerStream
//
//	@doc:
//		Stream logging.
//
//---------------------------------------------------------------------------

class CLoggerStream : public CLogger
{
private:
	// log stream
	IOstream &m_os;

	// write string to stream
	void
	Write(const WCHAR *log_entry,
		  ULONG	 // severity
		  ) override
	{
		m_os = m_os << log_entry;
	}

public:
	CLoggerStream(const CLoggerStream &) = delete;

	// ctor
	CLoggerStream(IOstream &os);

	// dtor
	~CLoggerStream() override;

	// wrapper for stdout
	static CLoggerStream m_stdout_stream_logger;

	// wrapper for stderr
	static CLoggerStream m_stderr_stream_logger;

};	// class CLoggerStream
}  // namespace gpos

#endif	// !GPOS_CLoggerStream_H

// EOF

相关信息

greenplumn 源码目录

相关文章

greenplumn CAutoExceptionStack 源码

greenplumn CAutoTrace 源码

greenplumn CErrorContext 源码

greenplumn CErrorHandler 源码

greenplumn CErrorHandlerStandard 源码

greenplumn CException 源码

greenplumn CLogger 源码

greenplumn CLoggerSyslog 源码

greenplumn CMessage 源码

greenplumn CMessageRepository 源码

0  赞