Drizzled Public API Documentation

logging.h
1 /* -*- mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; -*-
2  * vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
3  *
4  * Copyright (C) 2009 Sun Microsystems, Inc.
5  * Copyright (C) 2010 Mark Atwood
6  *
7  * This program is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation; version 2 of the License.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
19  */
20 
21 #pragma once
22 
23 #include <drizzled/plugin/logging.h>
24 
25 namespace drizzle_plugin {
26 namespace syslog {
27 namespace logging {
28 
30 {
31 private:
32  int _facility;
33  std::string sysvar_facility;
34 
35 public:
36  Syslog(const std::string &facility,
37  drizzled::uint64_constraint threshold_slow,
38  drizzled::uint64_constraint threshold_big_resultset,
39  drizzled::uint64_constraint threshold_big_examined);
40 
41  /*
42  These variables are made public as, otherwise, we will have to make setter functions for each of these variables to change their value
43  at runtime or we will have to make these variables extern. Changing them to public ensures that they can be changed at runtime directly.
44  */
45  drizzled::uint64_constraint _threshold_slow;
46  drizzled::uint64_constraint _threshold_big_resultset;
47  drizzled::uint64_constraint _threshold_big_examined;
48  virtual bool post (drizzled::Session *session);
49  bool setFacility(std::string new_facility);
50  std::string& getFacility();
51 };
52 
53 } /* namespace logging */
54 } /* namespace syslog */
55 } /* namespace drizzle_plugin */
56