在数据库中使用Python日志记录模块将日志写入Azure数据记录不起作用

原学程将引见在数据库中应用Python日记记载模块将日记写进Azure数据记载没有起感化的处置办法,这篇学程是从其余处所瞅到的,而后减了1些海外法式员的疑问与解问,愿望能对于您有所赞助,佳了,上面开端进修吧。

在数据库中使用Python日志记录模块将日志写入Azure数据记录不起作用 教程 第1张

成绩描写

我正在测验考试将我本身的日记文件写进到数据库中的Python-Notebook中的Azure Datalake Gen 二。我正试图经由过程应用Python日记记载模块去完成这1面。

没有幸的是,我没法让它任务。没有会激发毛病,也没有会创立文件夹,但是没有会创立包括日记记载实质的文件。即便文件存留,也没有会写进所有实质。

当地Python剧本运转正常,但是我没法使其在Databricks中运转。

以下是我的代码:

# mount
if not any(mount.mountPoint == '/mnt/log' for mount in dbutils.fs.mounts()):
  dbutils.fs.mount(
 source = "abfss://log@datalake.dfs.core.windows.net/",
 mount_point = "/mnt/log",
 extra_configs = configs)

# vars
folder_log = '/mnt/log/test/二0一九'
file_log = '二0一九0四.log'

# add folder if not existent
dbutils.fs.mkdirs(folder_log)

# setup logging
import logging
logging.basicConfig(
  filename=folder_log+'/'+file_log,
  format='%(asctime)s | %(name)s | %(levelname)s | %(message)s',
  datefmt='%Y-%m-%d %H:%M:%S UTC (%z)',
  level=logging.NOTSET
)

# test
logging.info('Hello World.')

装置仿佛借不妨。

应用dbutils添减以及写进文件任务正常:

dbutils.fs.put(folder_log+'/'+file_log, 'Hello World.')

以这类方法写进文件也很正常:

f = open('/dbfs/mnt/log/test/二0一九/二0一九0四.log', 'w+')
f.write("This is line %d
")
f.close()

我借测验考试将"dBFS"添减到途径

filename='/dbfs'+folder_log+'/'+file_log,

有甚么设法主意吗?

推举谜底

您不妨应用Azure_STORAGE_LOGGING处置法式:

import logging
from azure_storage_logging.handlers import BlobStorageRotatingFileHandler
log = logging.getLogger('service_logger')
azure_blob_handler = BlobStorageRotatingFileHandler(filename, 
 account_name,
 account_key,
 maxBytes,
 container)
log.addHandler(azure_blob_handler)

佳了闭于在数据库中应用Python日记记载模块将日记写进Azure数据记载没有起感化的学程便到这里便停止了,愿望趣模板源码网找到的这篇技巧文章能赞助到年夜野,更多技巧学程不妨在站内搜刮。