File: statuslog.h

package info (click to toggle)
virtuoso-opensource 6.1.6+dfsg2-4
  • links: PTS, VCS
  • area: main
  • in suites: bullseye, buster, sid, stretch
  • size: 260,992 kB
  • ctags: 125,220
  • sloc: ansic: 652,748; sql: 458,419; xml: 282,834; java: 61,031; sh: 40,031; cpp: 36,890; cs: 25,240; php: 12,692; yacc: 9,523; lex: 7,018; makefile: 6,157; jsp: 4,484; awk: 1,643; perl: 1,013; ruby: 1,003; python: 326
file content (75 lines) | stat: -rw-r--r-- 2,675 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
/*
 *  statuslog.h
 *
 *  $Id$
 *
 *  This file is part of the OpenLink Software Virtuoso Open-Source (VOS)
 *  project.
 *
 *  Copyright (C) 1998-2012 OpenLink Software
 *
 *  This project is free software; you can redistribute it and/or modify it
 *  under the terms of the GNU General Public License as published by the
 *  Free Software Foundation; only version 2 of the License, dated June 1991.
 *
 *  This program is distributed in the hope that it will be useful, but
 *  WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 *  General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License along
 *  with this program; if not, write to the Free Software Foundation, Inc.,
 *  51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
 *
 */

extern unsigned long log_stat;
extern unsigned long log_file_line;

#define LOG_HUMAN_READ		0
#define LOG_VUSER		1	/* USER */
#define LOG_FAILED		2	/* FAIL */
#define LOG_COMPILE		3	/* COMP */
#define LOG_DDL			4	/* DDLC */
#define LOG_CLIENT_SQL		5	/* CSLQ */
#define LOG_SRV_ERROR		6	/* ERRS */
#define LOG_DSN			7	/* DSNL	*/
#define LOG_SQL_SEND		8	/* DSNS	*/
#define LOG_TRANSACT		9	/* LTRS	*/
#define LOG_R_TRANSACT		10	/* RTRS	*/
#define LOG_EXEC		11	/* EXEC	*/
#define LOG_SOAP		12	/* SOAP	*/
#define LOG_THR			13	/* SOAP	*/
#define LOG_CURSOR		14	/* CURS	*/
#define LOG_SOAP_CLI		15	/* SOAP	*/

#define DO_LOG1(cond) (log_stat & (1 << (cond)))

#define DO_LOG(cond) (DO_LOG1(cond) && \
    (!(log_file_line & 0x2) || ( log_info ("%s (%d)", __FILE__, (int) __LINE__), 1) > 0))

#define DO_LOG_INT(cond)  (DO_LOG (cond) && is_internal_user (cli))
#define LOG_GET \
              char from[16]; \
              char user[16]; \
              char peer[32]; \
              dks_client_ip (cli, from, user, peer, sizeof (from), sizeof (user), sizeof (peer));

#define GET_USER \
	      DO_LOG (LOG_HUMAN_READ) ? \
	        (usr && usr->usr_name ? usr->usr_name : "<DBA>" ) \
	      : \
	        ((usr && usr->usr_id) ? usr->log_usr_name : "0")

#ifndef _THREAD_INT_HS
void dks_client_ip (client_connection_t *cli, char *buf, char *user, char *peer, int buf_len, int user_len, int peer_len);
int is_internal_user (client_connection_t *cli);
#endif

#define LOG_STR_D const char * str [] = {"user_names", "user_log", "failed_log", "compile", \
  "ddl_log", "client_sql", "errors", "dsn", "sql_send", "transact", "remote_transact", \
  "exec", "soap", "thread", "cursor", "soap_client" }
#define LOG_STR_L (sizeof (str)/sizeof (char *))
#define LOG_PRINT_STR_L 500
#define LOG_PRINT_SOAP_STR_L 1500