📄 log.h
字号:
/* * log.h -- Collects statistics information for the broker and logs them. * * $Id: log.h,v 2.1 1997/03/21 17:20:01 sxw Exp $ * * DEBUG: none * AUTHOR: Harvest derived * * Harvest Indexer http://harvest.sourceforge.net/ * ----------------------------------------------- * * The Harvest Indexer is a continued development of code developed by * the Harvest Project. Development is carried out by numerous individuals * in the Internet community, and is not officially connected with the * original Harvest Project or its funding sources. * * Please mail lee@arco.de if you are interested in participating * in the development effort. * * This program 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; either version 2 of the License, or * (at your option) any later version. * * 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., 675 Mass Ave, Cambridge, MA 02139, USA. *//* * ---------------------------------------------------------------------- * Copyright (c) 1994, 1995. All rights reserved. * * The Harvest software was developed by the Internet Research Task * Force Research Group on Resource Discovery (IRTF-RD): * * Mic Bowman of Transarc Corporation. * Peter Danzig of the University of Southern California. * Darren R. Hardy of the University of Colorado at Boulder. * Udi Manber of the University of Arizona. * Michael F. Schwartz of the University of Colorado at Boulder. * Duane Wessels of the University of Colorado at Boulder. * * This copyright notice applies to software in the Harvest * ``src/'' directory only. Users should consult the individual * copyright notices in the ``components/'' subdirectories for * copyright information about other software bundled with the * Harvest source code distribution. * * TERMS OF USE * * The Harvest software may be used and re-distributed without * charge, provided that the software origin and research team are * cited in any use of the system. Most commonly this is * accomplished by including a link to the Harvest Home Page * (http://harvest.cs.colorado.edu/) from the query page of any * Broker you deploy, as well as in the query result pages. These * links are generated automatically by the standard Broker * software distribution. * * The Harvest software is provided ``as is'', without express or * implied warranty, and with no support nor obligation to assist * in its use, correction, modification or enhancement. We assume * no liability with respect to the infringement of copyrights, * trade secrets, or any patents, and are not responsible for * consequential damages. Proper use of the Harvest software is * entirely the responsibility of the user. * * DERIVATIVE WORKS * * Users may make derivative works from the Harvest software, subject * to the following constraints: * * - You must include the above copyright notice and these * accompanying paragraphs in all forms of derivative works, * and any documentation and other materials related to such * distribution and use acknowledge that the software was * developed at the above institutions. * * - You must notify IRTF-RD regarding your distribution of * the derivative work. * * - You must clearly notify users that your are distributing * a modified version and not the original Harvest software. * * - Any derivative product is also subject to these copyright * and use restrictions. * * Note that the Harvest software is NOT in the public domain. We * retain copyright, as specified above. * * HISTORY OF FREE SOFTWARE STATUS * * Originally we required sites to license the software in cases * where they were going to build commercial products/services * around Harvest. In June 1995 we changed this policy. We now * allow people to use the core Harvest software (the code found in * the Harvest ``src/'' directory) for free. We made this change * in the interest of encouraging the widest possible deployment of * the technology. The Harvest software is really a reference * implementation of a set of protocols and formats, some of which * we intend to standardize. We encourage commercial * re-implementations of code complying to this set of standards. * *//* ========== Logging Types in hex ========= */#define L_UPDATE 0x00000001#define L_DELETE 0x00000002#define L_REFRESH 0x00000004#define L_QUERY 0x00000008#define L_QUERY_R 0x00000010#define L_CLEAN 0x00000020#define L_COLTNG 0x00000040#define L_ADMINC 0x00000080#define L_ADMINC_R 0x00000100#define L_BULK 0x00000200#define L_BULK_R 0x00000400#define L_CLEANS 0x00000800#define L_QUERYERR 0x00001000#define L_BULKERR 0x00002000#define L_COMPRESS 0x00004000#define L_GID 0x00008000#define L_CONNECT 0x00010000/* ========== Logging Names ========= */#define L_ADMINC_RS "ADMIN-RETURN"#define L_ADMINC_S "ADMIN"#define L_BULK_RS "BULK-RETURN"#define L_BULK_S "BULK-TRANSFER"#define L_CLEANS_S "CLEANER-ON"#define L_CLEAN_S "CLEANED"#define L_COLTNG_S "COLLECTION"#define L_COMPRESS_S "COMPRESSING-REGISTRY"#define L_DELETE_S "DELETE"#define L_QUERY_RS "QUERY-RETURN"#define L_QUERY_S "QUERY"#define L_REFRESH_S "REFRESH"#define L_UPDATE_S "UPDATE"#define L_GID_S "GATHERER-ID"#define L_CONNECT_S "CONNECTION"/* ========== Logging Macros ========= */#ifdef __STRICT_ANSI__int LOG_statlog(unsigned int, ...);#elseint LOG_statlog();#endif#define LOGUPDATE(X) \ {LOG_statlog(L_UPDATE,L_UPDATE_S,(X)->url,(X)->FD,(X)->GID);}#define LOGQUERY_R(X) \ {LOG_statlog(L_QUERY_R,L_QUERY_RS,(X)->url,(X)->FD,(X)->GID);}#define LOGBULK_R(X) \ {LOG_statlog(L_BULK_R,L_BULK_RS,(X)->url,(X)->FD,(X)->GID);}#define LOGDELETE(X) \ {LOG_statlog(L_DELETE,L_DELETE_S,(X)->url,(X)->FD,(X)->GID);}#define LOGREFRESH(X) \ {LOG_statlog(L_REFRESH,L_REFRESH_S,(X)->url,(X)->FD,(X)->GID);}#define LOGCLEAN(X) \ {LOG_statlog(L_CLEAN,L_CLEAN_S,(X)->url,(X)->FD,(X)->GID);}#define LOGQUERY(X) \ {LOG_statlog(L_QUERY,L_QUERY_S, (X));}#define LOGADMIN(X) \ {LOG_statlog(L_ADMINC,L_ADMINC_S, (X));}#define LOGBULK(X) \ {LOG_statlog(L_BULK,L_BULK_S, (X));}#define LOGADMIN_R(X) \ {LOG_statlog(L_ADMINC_R,L_ADMINC_RS, (X));}#define LOGQUERYERR(X) \ {LOG_statlog(L_QUERYERR,L_QUERY_RS, (X));}#define LOGBULKERR(X) \ {LOG_statlog(L_BULKERR,L_BULK_RS, (X));}#define LOGCLEANER \ {LOG_statlog(L_CLEANS,L_CLEANS_S);}#define LOGCOMPRESSION \ {LOG_statlog(L_COMPRESS, L_COMPRESS_S);}#define LOGCOLLECT(S,X, Y) \ {LOG_statlog(L_COLTNG, L_COLTNG_S, S, (X), Y);}#define LOGCONNECT(X) \ {LOG_statlog(L_CONNECT, L_CONNECT_S, (X));}#define LOGGID(GID,GN,GH,GV) \ {LOG_statlog(L_GID, L_GID_S, (GID), (GN), (GH), (GV));}/* Log particular type? */#define LOG_do_logging(type) \ (((log_master & (type)) == 00) ? FALSE : TRUE)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -