52 }
53 return _millis;
54 }
55
56 #define ASSERT_AND_RETURN(written, pos) \
57 assert(written >= 0, "Decorations buffer overflow"); \
58 return pos + written;
59
60 char* LogDecorations::create_time_decoration(char* pos) {
61 char* buf = os::iso8601_time(pos, 29);
62 int written = buf == NULL ? -1 : 29;
63 ASSERT_AND_RETURN(written, pos)
64 }
65
66 char * LogDecorations::create_uptime_decoration(char* pos) {
67 int written = jio_snprintf(pos, DecorationsBufferSize - (pos - _decorations_buffer), "%.3fs", os::elapsedTime());
68 ASSERT_AND_RETURN(written, pos)
69 }
70
71 char * LogDecorations::create_timemillis_decoration(char* pos) {
72 int written = jio_snprintf(pos, DecorationsBufferSize - (pos - _decorations_buffer), INT64_FORMAT, java_millis());
73 ASSERT_AND_RETURN(written, pos)
74 }
75
76 char * LogDecorations::create_uptimemillis_decoration(char* pos) {
77 int written = jio_snprintf(pos, DecorationsBufferSize - (pos - _decorations_buffer),
78 INT64_FORMAT, java_millis() - _vm_start_time_millis);
79 ASSERT_AND_RETURN(written, pos)
80 }
81
82 char * LogDecorations::create_timenanos_decoration(char* pos) {
83 int written = jio_snprintf(pos, DecorationsBufferSize - (pos - _decorations_buffer), INT64_FORMAT, os::javaTimeNanos());
84 ASSERT_AND_RETURN(written, pos)
85 }
86
87 char * LogDecorations::create_uptimenanos_decoration(char* pos) {
88 int written = jio_snprintf(pos, DecorationsBufferSize - (pos - _decorations_buffer), INT64_FORMAT, os::elapsed_counter());
89 ASSERT_AND_RETURN(written, pos)
90 }
91
92 char * LogDecorations::create_pid_decoration(char* pos) {
93 int written = jio_snprintf(pos, DecorationsBufferSize - (pos - _decorations_buffer), "%d", os::current_process_id());
94 ASSERT_AND_RETURN(written, pos)
95 }
96
97 char * LogDecorations::create_tid_decoration(char* pos) {
98 int written = jio_snprintf(pos, DecorationsBufferSize - (pos - _decorations_buffer),
99 INTX_FORMAT, Thread::current()->osthread()->thread_id());
100 ASSERT_AND_RETURN(written, pos)
101 }
102
103 char* LogDecorations::create_level_decoration(char* pos) {
104 int written = jio_snprintf(pos, DecorationsBufferSize - (pos - _decorations_buffer), "%s", LogLevel::name(_level));
105 ASSERT_AND_RETURN(written, pos)
106 }
107
108 char* LogDecorations::create_tags_decoration(char* pos) {
|
52 }
53 return _millis;
54 }
55
56 #define ASSERT_AND_RETURN(written, pos) \
57 assert(written >= 0, "Decorations buffer overflow"); \
58 return pos + written;
59
60 char* LogDecorations::create_time_decoration(char* pos) {
61 char* buf = os::iso8601_time(pos, 29);
62 int written = buf == NULL ? -1 : 29;
63 ASSERT_AND_RETURN(written, pos)
64 }
65
66 char * LogDecorations::create_uptime_decoration(char* pos) {
67 int written = jio_snprintf(pos, DecorationsBufferSize - (pos - _decorations_buffer), "%.3fs", os::elapsedTime());
68 ASSERT_AND_RETURN(written, pos)
69 }
70
71 char * LogDecorations::create_timemillis_decoration(char* pos) {
72 int written = jio_snprintf(pos, DecorationsBufferSize - (pos - _decorations_buffer), INT64_FORMAT "ms", java_millis());
73 ASSERT_AND_RETURN(written, pos)
74 }
75
76 char * LogDecorations::create_uptimemillis_decoration(char* pos) {
77 int written = jio_snprintf(pos, DecorationsBufferSize - (pos - _decorations_buffer),
78 INT64_FORMAT " ms", java_millis() - _vm_start_time_millis);
79 ASSERT_AND_RETURN(written, pos)
80 }
81
82 char * LogDecorations::create_timenanos_decoration(char* pos) {
83 int written = jio_snprintf(pos, DecorationsBufferSize - (pos - _decorations_buffer), INT64_FORMAT "ns", os::javaTimeNanos());
84 ASSERT_AND_RETURN(written, pos)
85 }
86
87 char * LogDecorations::create_uptimenanos_decoration(char* pos) {
88 int written = jio_snprintf(pos, DecorationsBufferSize - (pos - _decorations_buffer), INT64_FORMAT "ns", os::elapsed_counter());
89 ASSERT_AND_RETURN(written, pos)
90 }
91
92 char * LogDecorations::create_pid_decoration(char* pos) {
93 int written = jio_snprintf(pos, DecorationsBufferSize - (pos - _decorations_buffer), "%d", os::current_process_id());
94 ASSERT_AND_RETURN(written, pos)
95 }
96
97 char * LogDecorations::create_tid_decoration(char* pos) {
98 int written = jio_snprintf(pos, DecorationsBufferSize - (pos - _decorations_buffer),
99 INTX_FORMAT, Thread::current()->osthread()->thread_id());
100 ASSERT_AND_RETURN(written, pos)
101 }
102
103 char* LogDecorations::create_level_decoration(char* pos) {
104 int written = jio_snprintf(pos, DecorationsBufferSize - (pos - _decorations_buffer), "%s", LogLevel::name(_level));
105 ASSERT_AND_RETURN(written, pos)
106 }
107
108 char* LogDecorations::create_tags_decoration(char* pos) {
|