[DEFAULT]
-# Default log level is WARNING
-# Show debugging output in logs (sets DEBUG log level output)
+# Default log level is INFO
+# verbose and debug has the same result.
+# One of them will set DEBUG log level output
# debug = False
-
-# Show more verbose log output (sets INFO log level output) if debug is False
# verbose = False
# log_format = %(asctime)s %(levelname)8s [%(name)s] %(message)s
# log_date_format = %Y-%m-%d %H:%M:%S
+# use_syslog -> syslog
+# log_file and log_dir -> log_dir/log_file
+# (not log_file) and log_dir -> log_dir/{binary_name}.log
+# use_stderr -> stderr
+# (not user_stderr) and (not log_file) -> stdout
+# publish_errors -> notification system
+
# use_syslog = False
# syslog_log_facility = LOG_USER
-# if use_syslog is False, we can set log_file and log_dir.
-# if use_syslog is False and we do not set log_file,
-# the log will be printed to stdout.
+# use_stderr = True
# log_file =
# log_dir =
+# publish_errors = False
+
# Address to bind the API server
bind_host = 0.0.0.0
# License for the specific language governing permissions and limitations
# under the License.
-import logging
import os
import re
import socket
from quantum.openstack.common import context
from quantum.openstack.common import importutils
from quantum.openstack.common import jsonutils
+from quantum.openstack.common import log as logging
from quantum.openstack.common.rpc import proxy
LOG = logging.getLogger(__name__)
#
"""
-import logging
import sys
import time
from quantum.db import l3_db
from quantum.openstack.common import cfg
from quantum.openstack.common import importutils
+from quantum.openstack.common import log as logging
from quantumclient.v2_0 import client
LOG = logging.getLogger(__name__)
# under the License.
import abc
-import logging
import os
import re
import socket
from quantum.agent.linux import utils
from quantum.openstack.common import cfg
from quantum.openstack.common import jsonutils
+from quantum.openstack.common import log as logging
LOG = logging.getLogger(__name__)
# under the License.
import abc
-import logging
import netaddr
from quantum.extensions.flavor import (FLAVOR_NETWORK)
from quantum.openstack.common import cfg
from quantum.openstack.common import importutils
+from quantum.openstack.common import log as logging
LOG = logging.getLogger(__name__)
"""Implements iptables rules using linux utilities."""
import inspect
-import logging
import os
from quantum.agent.linux import utils
+from quantum.openstack.common import log as logging
LOG = logging.getLogger(__name__)
# NOTE(vish): Iptables supports chain names of up to 28 characters, and we
# @author: Dan Wendlandt, Nicira Networks, Inc.
# @author: Dave Lapsley, Nicira Networks, Inc.
-import logging
import re
from quantum.agent.linux import utils
+from quantum.openstack.common import log as logging
LOG = logging.getLogger(__name__)
# @author: Juliano Martinez, Locaweb.
import fcntl
-import logging
import os
import shlex
import signal
from eventlet.green import subprocess
from quantum.common import utils
-
+from quantum.openstack.common import log as logging
LOG = logging.getLogger(__name__)
-import logging
import re
import sys
from quantum.common import config
from quantum.openstack.common import cfg
from quantum.openstack.common import importutils
+from quantum.openstack.common import log as logging
LOG = logging.getLogger(__name__)
NS_MANGLING_PATTERN = ('(%s|%s)' % (dhcp_agent.NS_PREFIX, l3_agent.NS_PREFIX) +
# See the License for the specific language governing permissions and
# limitations under the License.
-import logging
-
import eventlet
from quantum.common import topics
+from quantum.openstack.common import log as logging
from quantum.openstack.common import rpc
from quantum.openstack.common.rpc import proxy
from quantum.openstack.common.notifier import api
# License for the specific language governing permissions and limitations
# under the License.
-import logging
from webob import exc
+from quantum.openstack.common import log as logging
LOG = logging.getLogger(__name__)
# Defining a constant to avoid repeating string literal in several modules
SHARED = 'shared'
-import logging
import netaddr
import re
from quantum.common import exceptions as q_exc
-
+from quantum.openstack.common import log as logging
LOG = logging.getLogger(__name__)
# See the License for the specific language governing permissions and
# limitations under the License.
-import logging
import socket
import webob.exc
from quantum.api.v2 import resource as wsgi_resource
from quantum.common import exceptions
from quantum.openstack.common import cfg
+from quantum.openstack.common import log as logging
from quantum.openstack.common.notifier import api as notifier_api
from quantum import policy
from quantum import quota
"""
Utility methods for working with WSGI servers redux
"""
-import logging
import webob
import webob.dec
from quantum.common import exceptions
from quantum import context
from quantum.openstack.common import jsonutils as json
+from quantum.openstack.common import log as logging
from quantum import wsgi
# See the License for the specific language governing permissions and
# limitations under the License.
-import logging
import urlparse
import routes as routes_mapper
from quantum.extensions import extensions
from quantum import manager
from quantum.openstack.common import cfg
+from quantum.openstack.common import log as logging
from quantum import wsgi
# License for the specific language governing permissions and limitations
# under the License.
-import logging
import webob.dec
from quantum.api.views import versions as versions_view
+from quantum.openstack.common import log as logging
from quantum import wsgi
# License for the specific language governing permissions and limitations
# under the License.
-import logging
-
import webob.dec
import webob.exc
from quantum import context
from quantum import wsgi
from quantum.openstack.common import cfg
-
+from quantum.openstack.common import log as logging
LOG = logging.getLogger(__name__)
Routines for configuring Quantum
"""
-import logging
-import logging.config
-import logging.handlers
import os
import sys
from quantum.api.v2 import attributes
from quantum.openstack.common import cfg
+from quantum.openstack.common import log as logging
from quantum.version import version_string
-
LOG = logging.getLogger(__name__)
core_opts = [
:param conf: a cfg.ConfOpts object
"""
-
- if conf.log_config:
- # Use a logging configuration file for all settings...
- if os.path.exists(conf.log_config):
- logging.config.fileConfig(conf.log_config)
- return
- else:
- raise RuntimeError("Unable to locate specified logging "
- "config file: %s" % conf.log_config)
-
- root_logger = logging.root
- if conf.debug:
- root_logger.setLevel(logging.DEBUG)
- elif conf.verbose:
- root_logger.setLevel(logging.INFO)
- else:
- root_logger.setLevel(logging.WARNING)
-
- formatter = logging.Formatter(conf.log_format, conf.log_date_format)
-
- if conf.use_syslog:
- try:
- facility = getattr(logging.handlers.SysLogHandler,
- conf.syslog_log_facility)
- except AttributeError:
- raise ValueError(_("Invalid syslog facility"))
-
- handler = logging.handlers.SysLogHandler(address='/dev/log',
- facility=facility)
- elif conf.log_file:
- logfile = conf.log_file
- if conf.log_dir:
- logfile = os.path.join(conf.log_dir, logfile)
- handler = logging.handlers.WatchedFileHandler(logfile)
- else:
- handler = logging.StreamHandler(sys.stdout)
-
- handler.setFormatter(formatter)
- root_logger.addHandler(handler)
+ product_name = "quantum"
+ logging.setup(product_name)
+ log_root = logging.getLogger(product_name).logger
+ log_root.propagate = 0
LOG.info("Logging enabled!")
"""Utilities and helper functions."""
-import logging
import os
import signal
import uuid
from eventlet.green import subprocess
from quantum.openstack.common import cfg
+from quantum.openstack.common import log as logging
TIME_FORMAT = "%Y-%m-%dT%H:%M:%SZ"
+LOG = logging.getLogger(__name__)
def boolize(subject):
"""
mtime = os.path.getmtime(filename)
if not cache_info or mtime != cache_info.get('mtime'):
- logging.debug(_("Reloading cached file %s") % filename)
+ LOG.debug(_("Reloading cached file %s") % filename)
with open(filename) as fap:
cache_info['data'] = fap.read()
cache_info['mtime'] = mtime
"""Context: context for security/db session."""
import copy
-import logging
from datetime import datetime
from quantum.db import api as db_api
from quantum.openstack.common import context as common_context
+from quantum.openstack.common import log as logging
+
+
LOG = logging.getLogger(__name__)
# @author: Brad Hall, Nicira Networks, Inc.
# @author: Dan Wendlandt, Nicira Networks, Inc.
-import logging
import time
import sqlalchemy as sql
from sqlalchemy.orm import sessionmaker, exc
from quantum.db import model_base
+from quantum.openstack.common import log as logging
LOG = logging.getLogger(__name__)
# limitations under the License.
import datetime
-import logging
import random
import netaddr
from quantum.db import api as db
from quantum.db import models_v2
from quantum.openstack.common import cfg
+from quantum.openstack.common import log as logging
from quantum.openstack.common import timeutils
from quantum import quantum_plugin_base_v2
# See the License for the specific language governing permissions and
# limitations under the License.
-import logging
-
from sqlalchemy.orm import exc
from quantum import context as quantum_context
from quantum import manager
from quantum.api.v2 import attributes
from quantum.openstack.common import context
+from quantum.openstack.common import log as logging
LOG = logging.getLogger(__name__)
#
"""
-import logging
-
import netaddr
import sqlalchemy as sa
from sqlalchemy import orm
from quantum.db import models_v2
from quantum.extensions import l3
from quantum.openstack.common import cfg
+from quantum.openstack.common import log as logging
+
from quantum import policy
from abc import ABCMeta
import imp
-import logging
import os
import routes
from quantum.manager import QuantumManager
from quantum.openstack.common import cfg
from quantum.openstack.common import importutils
+from quantum.openstack.common import log as logging
from quantum import wsgi
# under the License.
#
-import logging
-
from quantum.api.v2 import attributes
+from quantum.openstack.common import log as logging
LOG = logging.getLogger(__name__)
The caller should make sure that QuantumManager is a singleton.
"""
-import logging
-
from quantum.common.exceptions import ClassNotFound
from quantum.openstack.common import cfg
from quantum.openstack.common import importutils
+from quantum.openstack.common import log as logging
LOG = logging.getLogger(__name__)
# Quantum OpenVSwitch Plugin.
# @author: Sumit Naiksatam, Cisco Systems, Inc.
-import logging
import os
import sys
import time
from quantum.common import topics
from quantum.openstack.common import cfg
from quantum.openstack.common import context
+from quantum.openstack.common import log as logging
from quantum.openstack.common import rpc
from quantum.openstack.common.rpc import dispatcher
from quantum.plugins.linuxbridge.common import config
from quantum.plugins.linuxbridge.common import constants as lconst
-logging.basicConfig()
+
LOG = logging.getLogger(__name__)
BRIDGE_NAME_PREFIX = "brq"
# See the License for the specific language governing permissions and
# limitations under the License.
-import logging
from sqlalchemy.orm import exc
import quantum.db.api as db
from quantum.db import models_v2
from quantum.openstack.common import cfg
+from quantum.openstack.common import log as logging
from quantum.plugins.linuxbridge.common import config
from quantum.plugins.linuxbridge.common import constants
from quantum.plugins.linuxbridge.db import l2network_models_v2
# See the License for the specific language governing permissions and
# limitations under the License.
-import logging
import sys
from quantum.api.v2 import attributes
from quantum.extensions import providernet as provider
from quantum.openstack.common import context
from quantum.openstack.common import cfg
+from quantum.openstack.common import log as logging
from quantum.openstack.common import rpc
from quantum.openstack.common.rpc import dispatcher
from quantum.openstack.common.rpc import proxy
# @author: Dave Lapsley, Nicira Networks, Inc.
# @author: Aaron Rosen, Nicira Networks, Inc.
-import logging
import sys
import time
from quantum.common import topics
from quantum.openstack.common import cfg
from quantum.openstack.common import context
+from quantum.openstack.common import log as logging
from quantum.openstack.common import rpc
from quantum.openstack.common.rpc import dispatcher
from quantum.plugins.openvswitch.common import config
from quantum.plugins.openvswitch.common import constants
-logging.basicConfig()
+
LOG = logging.getLogger(__name__)
# A placeholder for dead vlans.
def main():
eventlet.monkey_patch()
cfg.CONF(args=sys.argv, project='quantum')
-
- # (TODO) gary - swap with common logging
logging_config.setup_logging(cfg.CONF)
try:
# @author: Aaron Rosen, Nicira Networks, Inc.
# @author: Bob Kukura, Red Hat, Inc.
-import logging
-
from sqlalchemy.orm import exc
from quantum.common import exceptions as q_exc
from quantum.db import models_v2
import quantum.db.api as db
from quantum.openstack.common import cfg
+from quantum.openstack.common import log as logging
from quantum.plugins.openvswitch.common import constants
from quantum.plugins.openvswitch import ovs_models_v2
# @author: Aaron Rosen, Nicira Networks, Inc.
# @author: Bob Kukura, Red Hat, Inc.
-import logging
import os
import sys
from quantum.extensions import providernet as provider
from quantum.openstack.common import context
from quantum.openstack.common import cfg
+from quantum.openstack.common import log as logging
from quantum.openstack.common import rpc
from quantum.openstack.common.rpc import dispatcher
from quantum.openstack.common.rpc import proxy
"""
Policy engine for quantum. Largely copied from nova.
"""
-import logging
from quantum.api.v2 import attributes
from quantum.common import exceptions
from quantum.openstack.common import cfg
import quantum.common.utils as utils
+from quantum.openstack.common import log as logging
from quantum.openstack.common import policy
"""Quotas for instances, volumes, and floating ips."""
-import logging
-
from quantum.common import exceptions
from quantum.openstack.common import cfg
from quantum.openstack.common import importutils
+from quantum.openstack.common import log as logging
LOG = logging.getLogger(__name__)
quota_opts = [
# License for the specific language governing permissions and limitations
# under the License.
-import logging
-
from quantum.common import config
from quantum.openstack.common import cfg
+from quantum.openstack.common import log as logging
from quantum import wsgi
"""
Utility methods for working with WSGI servers
"""
-
-import logging
import sys
from xml.dom import minidom
from xml.parsers import expat
from quantum.common import exceptions as exception
from quantum import context
from quantum.openstack.common import jsonutils
-
+from quantum.openstack.common import log as logging
LOG = logging.getLogger(__name__)
-class WritableLogger(object):
- """A thin wrapper that responds to `write` and logs."""
-
- def __init__(self, logger, level=logging.DEBUG):
- self.logger = logger
- self.level = level
-
- def write(self, msg):
- self.logger.log(self.level, msg.strip("\n"))
-
-
def run_server(application, port):
"""Run a WSGI server with the given application."""
sock = eventlet.listen(('0.0.0.0', port))
"""Start a WSGI server in a new green thread."""
logger = logging.getLogger('eventlet.wsgi.server')
eventlet.wsgi.server(socket, application, custom_pool=self.pool,
- log=WritableLogger(logger))
+ log=logging.WritableLogger(logger))
class Middleware(object):