Modified source engine (2017) developed by valve and leaked in 2020. Not for commercial purporses
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

68 lines
1.7 KiB

//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
// $NoKeywords: $
//
//=============================================================================//
// sv_log.h
// Server logging functions
#ifndef SV_LOG_H
#define SV_LOG_H
#pragma once
#include <igameevents.h>
#include "netadr.h"
class CLog : public IGameEventListener2
{
public:
CLog();
virtual ~CLog();
public: // IGameEventListener Interface
void FireGameEvent( IGameEvent *event );
public:
bool IsActive( void ); // true if logging is "on"
void SetLoggingState( bool state ); // set the logging state to true (on) or false (off)
bool UsingLogAddress( void );
bool AddLogAddress(netadr_t addr);
bool DelLogAddress(netadr_t addr);
void DelAllLogAddress( void );
void ListLogAddress( void );
netadr_t GetLogAddress();
void Open( void ); // opens logging file
void Close( void ); // closes logging file
void Flush( void ); // flushes the log file to disk
void Init( void );
void Reset( void ); // reset all logging streams
void Shutdown( void );
void Printf( PRINTF_FORMAT_STRING const char *fmt, ... ) FMTFUNCTION( 2, 3 ); // log a line to log file
void Print( const char * text );
void PrintServerVars( void ); // prints server vars to log file
void RunFrame();
private:
bool m_bActive; // true if we're currently logging
CUtlVector< netadr_t > m_LogAddresses; // Server frag log stream is sent to the address(es) in this list
FileHandle_t m_hLogFile; // File where frag log is put.
CUtlString m_LogFilename; // Name of our logfile.
double m_flLastLogFlush;
bool m_bFlushLog;
};
extern CLog g_Log;
#endif // SV_LOG_H