acme
Foundational cross-platform layer of the ca2 framework
Loading...
Searching...
No Matches
tracer.h
1// Created by Camilo on 2021-10-04 12:06 BRT <3ThomasBorregaardSorensen!!
2#pragma once
3
4//
5//#include "acme/filesystem/file/text_stream.h"
6//
7//
8//
9#include "acme/filesystem/file/print_formatting.h"
10
11
12namespace platform
13{
14 class logger;
15
16
17 class CLASS_DECL_ACME tracer :
18 public print_formatting
19 {
20 public:
21
22
23 //::platform::context * m_papplication;
24 ::pointer < ::platform::logger > m_plogger;
25
26
27 tracer();
28 virtual ~tracer();
29
30
31 virtual ::string trace_prefix() const;
32
33
34 //void format_output_arguments(const_char_pointer psz, va_list & arguments)
35 //{
36
37 // string str;
38
39 // str.formatf_arguments(scopedstr, arguments);
40
41 // operator << (str);
42
43 //}
44
45
46 //tracer & format_output(const_char_pointer psz, ...)
47 //{
48
49 // va_list arguments;
50
51 // va_start(arguments, psz);
52
53 // string str;
54
55 // str.formatf_arguments(scopedstr, arguments);
56
57 // operator << (str);
58
59 // va_end(arguments);
60
61 // return *this;
62
63 //}
64
65
66 //template < typename STRINGABLE >
67 //tracer & operator <<(const STRINGABLE & stringable)
68 //{
69
70 // string str;
71
72 // ::copy(str, stringable);
73
74 // m_str += str;
75
76 // return *this;
77
78 // //return operator << (str);
79
80 //}
81
82 //tracer & operator << (const exception & exception);
83 //tracer & operator << (const e_status & estatus);
84 //tracer & operator << (const enum_status& estatus);
85 //tracer & operator << (const ansi_string & str);
86 //tracer & operator << (const_char_pointer psz);
87 // tracer & operator << (enum_flush);
88 // tracer & operator << (const integral_byte & memsize);
89 //
90 // tracer & operator << (const integral_nanosecond & time) { return format(time); }
91 // tracer & operator << (const integral_microsecond & time) { return format(time); }
92 // tracer & operator << (const integral_millisecond & time) { return format(time); }
93 // tracer & operator << (const integral_second & time) { return format(time); }
94 // tracer & operator << (const integral_minute & time) { return format(time); }
95 // tracer & operator << (const integral_hour & time) { return format(time); }
96 // tracer & operator << (const integral_day & time) { return format(time); }
97 //
105 //
106 // template < prototype_integral INTEGRAL >
107 // tracer & operator << (const INTEGRAL integral) { return operator << (::as_string(integral)); }
108 //
109 //
110 virtual void flush(trace_statement & tracestatement);
111
112
113 };
114
115
116 //CLASS_DECL_ACME void trace_log_information() << const_char_pointer psz, ...;
117 //CLASS_DECL_ACME void trace_log_warning() << const_char_pointer psz, ...;
118 //CLASS_DECL_ACME void trace_log_error() << const_char_pointer psz, ...;
119 //CLASS_DECL_ACME void trace_log_fatal() << const_char_pointer psz, ...;
120
121 //
122 //CLASS_DECL_ACME ::trace_statement log_statement();
126 //
127 //
128 //
129} // namespace platform
130
131
132
133
134
135
Definition logger.h:15
Definition trace_statement.h:36
include "thread/AutoLock.h"
Definition _forward_declaration.h:877