1 /* -*- mode: c; tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- */
3 /*********************************************************************
4 * Clustal Omega - Multiple sequence alignment
6 * Copyright (C) 2010 University College Dublin
8 * Clustal-Omega is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU General Public License as
10 * published by the Free Software Foundation; either version 2 of the
11 * License, or (at your option) any later version.
13 * This file is part of Clustal-Omega.
15 ********************************************************************/
33 #define LOG_FORCED_DEBUG 4
35 #define LOG_CRITICAL 6
38 #define LOG_NUM_LEVELS 8
42 /* the higher the level, the more priority it has. numbers must be
46 /* array of function pointers */
47 void (*prFunc[LOG_NUM_LEVELS]) (FILE *prFP, char *pcFormat, va_list rVArgList);
48 FILE *prFP[LOG_NUM_LEVELS];
49 char *prPrefix[LOG_NUM_LEVELS];
51 /* everything above this level will be printed */
57 /* a standard logger */
63 LogDefaultSetup(log_t *log);
65 Log(log_t *prLog, int iLevel, char *pcFmt, ...);
67 LogSetFP(log_t *log, int level, FILE *fp);
69 LogSetFPForAll(log_t *log, FILE *fp);
71 LogGetFP(log_t *prLog, int iLevel);
73 LogMute(log_t *log, int level);
75 LogMuteAll(log_t *log);
77 LogFuncOverwrite(log_t *prLog, int iLevel,
78 void (*Func) (FILE *prFP, char *pcFormat, va_list rVArgList));