Logging
Logging with the Columnar Python SDK.
The Columnar Python SDK allows logging via the standard logging
module, or directly to the console.
Enabling Logging
import logging
import couchbase_columnar
from couchbase_columnar.cluster import Cluster
from couchbase_columnar.credential import Credential
# output log messages to example.log
logging.basicConfig(filename='example.log',
filemode='w',
level=logging.DEBUG,
format='%(levelname)s::%(asctime)s::%(message)s',
datefmt='%Y-%m-%d %H:%M:%S')
logger = logging.getLogger(__name__)
# Good to set the logger's level because if the root level is not set, only WARNING level and above logs are output.
logger.setLevel(logging.DEBUG)
couchbase_columnar.configure_logging(logger.name, level=logger.level)
def main() -> None:
# Update this to your cluster
connstr = 'couchbases://--your-instance--'
username = 'username'
pw = 'Password!123'
# User Input ends here.
cred = Credential.from_username_and_password(username, pw)
cluster = Cluster.create_instance(connstr, cred)
# Execute a query and buffer all result rows in client memory.
statement = 'SELECT * FROM `travel-sample`.inventory.airline LIMIT 10;'
res = cluster.execute_query(statement)
all_rows = res.get_all_rows()
for row in all_rows:
logger.info(f'Found row: {row}')
logger.info(f'metadata={res.metadata()}')
if __name__ == '__main__':
main()
Logging via Environmental Settings
Only one logger can be created. Either use PYCBCC_LOG_LEVEL to create a console logger or python logging , as mentioned above.
|
In the command line environment, the PYCBCC_LOG_LEVEL variable is set as follows:
consoleexport PYCBCC_LOG_LEVEL=<log-level>
consoleset PYCBCC_LOG_LEVEL=<log-level>
Where <log-level>
is either error
, warn
, info
, debug
or trace
.
Log Levels
You can increase the log level for greater verbosity (more information) in the logs:
-
off — disables all logging, which is normally set by default.
-
critical — important functionality not working.
-
error — error messages.
-
warn — error notifications.
-
info — useful notices, not often.
-
debug — diagnostic information, minimum level required to investigate problems.
-
trace — detailed diagnostic information, often required to investigate problems.