django logging 模块
环境信息
- python 3.10
- django 4.0
Python logging 模块说明
Django
使用 Python
内置的 logging
模块处理系统日志,一份 Python logging
配置由下面四个部分组成:
- Loggers
- Handlers
- Filters
- Formatters
Loggers
logger
是日志系统的入口。每个 logger
都是命名了的 bucket
, 消息写入 bucket
以便进一步处理logger
可以配置 日志级别
。日志级别描述了由该 logger
处理的消息的严重性。Python
定义了下面几种日志级别:
DEBUG
:排查故障时使用的低级别系统信息INFO
:一般的系统信息WARNING
:描述系统发生了一些小问题的信息ERROR
:描述系统发生了大问题的信息CRITICAL
:描述系统发生严重问题的信息
每一条写入 logger
的消息都是一条 日志记录
。每一条日志记录也包含 日志级别
,代表对应消息的严重程度。日志记录还包含有用的元数据,来描述被记录了日志的事件细节,例如堆栈跟踪或者错误码。
当 logger
处理一条消息时,会将自己的 日志级别
和这条消息的 日志级别
做对比。如果消息的日志级别匹配或者高于 logger
的日志级别,它就会被进一步处理。否则这条消息就会被忽略掉。
当 logger
确定了一条消息需要处理之后,会把它传给 Handler
。
python 虚拟环境
环境信息
- Python 3.10
虚拟环境创建步骤
假定项目名为 project01
, 目录名为 project01
mkdir project01 |
以上命令会在目录 project01
中创建虚拟环境,查看当前目录,会产生以下目录和文件
$ ls |
观察 bin
目录的内容,里面有 python3
、pip3
等可执行文件,实际上是链接到 Python
系统目录的软链接。
$ ls -l bin/ |
Linux
环境使用以下命令激活虚拟环境
$ source bin/activate |
命令提示符变了,有个 (project01)
前缀,表示当前环境是一个名为 project01
的 Python 环境。
在此虚拟环境中安装包,都会被安装到 (project01)
环境下,具体目录为 project01/lib/python3.10/site-packages/
,系统 Python 环境不受任何影响,也就是说,project01
这个环境是专门针对 project01
应用(项目)创建的,和系统 python 环境或其他应用互不影响。
要退出当前虚拟环境,可以执行以下命令
deactivate |
退出虚拟环境后,再执行如 pip3 install
命令安装的包,会安装到系统 Python 环境。
完全可以针对每个应用创建独立的Python运行环境,这样就可以对每个应用的Python环境进行隔离。
如果不再使用某个 venv
,例如 project01
,删除它也很简单。首先确认该 venv
没有处于 激活
状态,然后直接把整个目录 project01
删掉就行。
Hexo Next 添加 canvas-nest 特效
环境信息
- os: linux 3.10.0-1160.62.1.el7.x86_64 CentOS Linux 7 (Core)
- hexo: 6.2.0
- hexo-cli: 4.3.0
- node: 16.16.0
- Next 8.12.2
安装 canvas-nest
参考 canva-nest 官网 安装
npm install --save canvas-nest.js |
可选操作,主要是为了生成
canvas-nest.js
文件
配置 Next
编辑 next配置文件
,新增以下配置
# background settings |
引入 canvas-nest.js
编辑文件 themes/next/layout/_layout.njk
, 在</body>
之前新增以下内容
{% if theme.canvas_nest.enable %} |
awk 使用示例
awk 是一种编程语言,用于在linux/unix下对文本和数据进行处理。数据可以来自标准输入(stdin)、一个或多个文件,或其它命令的输出。它支持用户自定义函数和动态正则表达式等先进功能,是linux/unix下的一个强大编程工具。它在命令行中使用,但更多是作为脚本来使用。awk有很多内建的功能,比如数组、函数等,这是它和C语言的相同之处,灵活性是awk最大的优势。
sed 命令使用示例
LVM 逻辑卷管理
LVM是 Logical Volume Manager(逻辑卷管理)的简写,LVM将一个或多个硬盘或分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将其它的硬盘或分区加入其中,这样可以实现磁盘空间的动态管理,相对于普通的磁盘分区有很大的灵活性。与传统的磁盘与分区相比,LVM为计算机提供了更高层次的磁盘存储。它使系统管理员可以更方便的为应用与用户分配存储空间。
/boot
分区不可以在逻辑卷组上,否则bootloader会无法读取.
sftp 服务常用配置说明
sftp 是 Secure File Transfer Protocol 的缩写,安全文件传送协议。可以为传输文件提供一种安全的加密方法。SFTP 为 SSH 的一部分,由于这种传输方式使用了加密/解密技术,所以传输效率比普通的 FTP 要低得多,如果您对网络安全性要求更高时,可以使用 SFTP 代替 FTP。默认ssh启用了sftp,只要可登陆系统的用户(/bin/bash)就可登陆,登陆后目录无限制,可任意切换其他目录。为了安全起见,可以配置sshd以限制sftp登录用户的权限。最好将登陆后用户限制在指定目录,无法切换到外部目录