修改Python文件日志输出位置
Python logging模块介绍:
http://blog.chinaunix.net/uid-26000296-id-4372063.html
[root@fuel ~]# vi /var/lib/docker/devicemapper/mnt/4da57a0078c9d3f32e819373b67de41da37c34a27ee03f74016427e0223df5f2/rootfs/usr/lib/python2.6/site-packages/nailgun/db/sqlalchemy/models/node.py
88
89 class Node(Base):
304 @classmethod
305 def delete_by_ids(cls, ids):
306 db.query(Node).filter(Node.id.in_(ids)).delete('fetch')
38 from nailgun.logger import logger
可看出引用了:
/usr/lib/python2.6/site-packages/nailgun/logger.py中的logger变量。
[root@fuel ~]# vi /var/lib/docker/devicemapper/mnt/4da57a0078c9d3f32e819373b67de41da37c34a27ee03f74016427e0223df5f2/rootfs/usr/lib/python2.6/site-packages/nailgun/logger.py
17 import logging
18 import sys
57 logger = make_nailgun_logger()
31 def make_nailgun_logger():
32 """Make logger for nailgun app writes logs to stdout
33 """
34 logger = logging.getLogger("nailgun")
35 logger.setLevel(logging.DEBUG)
36 handler = logging.StreamHandler(sys.stdout)
37 handler.setFormatter(formatter)
38 logger.addHandler(handler)
39 return logger
40
28 formatter = logging.Formatter(LOGFORMAT, DATEFORMAT)
可见默认node.py将日志输出到标准输出,且最小日志输出级别是DEBUG级别。稍作改动,输出到日志文件中:
36 # handler = logging.StreamHandler(sys.stdout)
37 handler = logging.FileHandler('/tmp/nailgun.log')
[root@fuel ~]# ls -l /var/lib/docker/devicemapper/mnt/4da57a0078c9d3f32e819373b67de41da37c34a27ee03f74016427e0223df5f2/rootfs/usr/lib/python2.6/site-packages/nailgun/logger.py*
-rwxr-xr-x 1 root root 3936 Jan 27 10:44 /var/lib/docker/devicemapper/mnt/4da57a0078c9d3f32e819373b67de41da37c34a27ee03f74016427e0223df5f2/rootfs/usr/lib/python2.6/site-packages/nailgun/logger.py
-rwxr-xr-x 2 root root 4509 Jun 19 2015 /var/lib/docker/devicemapper/mnt/4da57a0078c9d3f32e819373b67de41da37c34a27ee03f74016427e0223df5f2/rootfs/usr/lib/python2.6/site-packages/nailgun/logger.pyc
-rwxr-xr-x 2 root root 4509 Jun 19 2015 /var/lib/docker/devicemapper/mnt/4da57a0078c9d3f32e819373b67de41da37c34a27ee03f74016427e0223df5f2/rootfs/usr/lib/python2.6/site-packages/nailgun/logger.pyo
改完代码重启nailgun服务:
[root@fuel ~]# docker restart fuel-core-6.1-nailgun
验证日志已经生成:
[root@fuel ~]# ls -l /var/lib/docker/devicemapper/mnt/4da57a0078c9d3f32e819373b67de41da37c34a27ee03f74016427e0223df5f2/rootfs/tmp/nailgun.log
[root@fuel ~]# ls -l /var/lib/docker/devicemapper/mnt/4da57a0078c9d3f32e819373b67de41da37c34a27ee03f74016427e0223df5f2/rootfs/usr/lib/python2.6/site-packages/nailgun/logger.py*
-rwxr-xr-x 1 root root 3936 Jan 27 10:44 /var/lib/docker/devicemapper/mnt/4da57a0078c9d3f32e819373b67de41da37c34a27ee03f74016427e0223df5f2/rootfs/usr/lib/python2.6/site-packages/nailgun/logger.py
-rw-r--r-- 1 root root 4509 Jan 27 10:49 /var/lib/docker/devicemapper/mnt/4da57a0078c9d3f32e819373b67de41da37c34a27ee03f74016427e0223df5f2/rootfs/usr/lib/python2.6/site-packages/nailgun/logger.pyc
-rwxr-xr-x 1 root root 4509 Jun 19 2015 /var/lib/docker/devicemapper/mnt/4da57a0078c9d3f32e819373b67de41da37c34a27ee03f74016427e0223df5f2/rootfs/usr/lib/python2.6/site-packages/nailgun/logger.pyo
制作符号链接:
[root@fuel ~]# ln -s /var/lib/docker/devicemapper/mnt/4da57a0078c9d3f32e819373b67de41da37c34a27ee03f74016427e0223df5f2/rootfs/tmp/nailgun.log /root/nailgun.log
修改node.py源代码:
[root@fuel ~]# vi /var/lib/docker/devicemapper/mnt/4da57a0078c9d3f32e819373b67de41da37c34a27ee03f74016427e0223df5f2/rootfs/usr/lib/python2.6/site-packages/nailgun/db/sqlalchemy/models/node.py
89 class Node(Base):
90 logger.logger.warning("____ffff____")
改完代码重启nailgun服务:
[root@fuel ~]# docker restart fuel-core-6.1-nailgun
验证代码被调用:
[root@fuel ~]# grep '____ffff____' nailgun.log
清空日志:
[root@fuel ~]# echo ''>nailgun.log
[root@fuel ~]# cat nailgun.log
[root@fuel ~]# fuel node
DEPRECATION WARNING: /etc/fuel/client/config.yaml exists and will be used as the source for settings. This behavior is deprecated. Please specify the path to your custom settings file in the FUELCLIENT_CUSTOM_SETTINGS environment variable.
id | status | name | cluster | ip | mac | roles | pending_roles | online | group_id
---|--------------|-------|---------|--------------|-------------------|---------------------------|---------------|--------|---------
10 | provisioning | RD530 | 1 | 168.5.21.106 | a0:36:9f:8d:40:88 | compute | | True | 1
2 | ready | UCS2 | 1 | 168.5.21.101 | 00:25:b5:00:00:21 | cinder, controller, mongo | | True | 1
4 | ready | R720 | 1 | 168.5.21.103 | c8:1f:66:d0:33:83 | compute | | True | 1
1 | ready | UCS1 | 1 | 168.5.21.100 | 00:25:b5:00:00:11 | cinder, controller, mongo | | True | 1
3 | ready | R420 | 1 | 168.5.21.102 | 00:1b:78:5a:9e:46 | cinder, controller, mongo | | True | 1
[root@fuel ~]# cat nailgun.log
[root@fuel ~]#
说明“fuel node”命令没调用到node.py。
修改Python文件日志输出位置的更多相关文章
- python logging日志输出个文件中
# -*- coding:utf-8 -*- import logging # 引入logging模块 import os.path import time # 第一步,创建一个logger logg ...
- Python模块:日志输出—logging模块
1. logging介绍 Python的logging模块提供了通用的日志系统,可以方便第三方模块或者是应用使用.这个模块提供不同的日志级别,并可以采用不同的方式记录日志,比如文件,HTTP GET/ ...
- oracle修改闪回日志的位置
改变闪回日志位置的步骤: A.Change the value of the DB_RECOVERY_FILE_DEST initialization parameter to a new value ...
- Eclipse设置控制台日志输出位置
1.选择服务器配置 2.设置输出文件路径
- IDEA指定.class文件输出位置
1.File > Project Structure > Project > Project compiler output 项目中的默认编译输出总目录 2.我习惯于把.class ...
- log4j日志输出到web项目指定文件夹
感谢 eric2500 的这篇文章:http://www.cxyclub.cn/n/27860/ 摘要:尝试将log4j的文件日志输出到web工程制定目录,遇到了很多问题,最终在eric2500的指导 ...
- Python之日志处理(logging模块)
本节内容 日志相关概念 logging模块简介 使用logging提供的模块级别的函数记录日志 logging模块日志流处理流程 使用logging四大组件记录日志 配置logging的几种方式 向日 ...
- 【转】Python之日志处理(logging模块)
[转]Python之日志处理(logging模块) 本节内容 日志相关概念 logging模块简介 使用logging提供的模块级别的函数记录日志 logging模块日志流处理流程 使用logging ...
- Python logging(日志)模块
python日志模块 内容简介 1.日志相关概念 2.logging模块简介 3.logging模块函数使用 4.logging模块日志流处理流程 5.logging模块组件使用 6.logging配 ...
随机推荐
- hdu_5806_NanoApe Loves Sequence Ⅱ(双指针)
题目链接:hdu_5806_NanoApe Loves Sequence Ⅱ 题意: 给你一段数,问你有多少个区间满足第K大的数不小于m 题解: 直接双指针加一下区间就行 #include<cs ...
- hdu_5734_Acperience
题目连接:hdu_5734_Acperience 多校的题我还是贴官方题解的好,方便快捷,省事!! #include<cstdio> #include<cmath> #defi ...
- hdu_2141_Can you find it?(二分)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=2141 题意:叫你找三个数,使得这三个数的值为X,如果找得到就输出YES否则输出NO,注意两个32位数相 ...
- Ubuntu14.04+cuda 7.5+cudnn_v4+tensorflow安装
系统环境:Ubuntu14.04 64位.Windows7 64位 双系统 CUDA 版本: 7.5 总结一下,我的安装建议是: 一定要下一份CUDA官方的安装文档,按照它的步骤一步步慢慢来,不可偷懒 ...
- Git add和commit步骤分析
修改后或者添加新的文件,执行add命令后,首先它会先存入本地库的暂存区, add可以上传很多个文件,然后执行commit命令后,都会被提交到默认的分支 Master分支上.只有文件更改和文件新建,都可 ...
- php-fpm参数优化【转】
转自 php-fpm参数优化 | Linux运维笔记https://blog.linuxeye.com/380.html php-fpm进程设置多少合适,设成动态还是静态? <lnmp一键安装包 ...
- 关于ckeditor过滤掉html样式标签之我见
1.CKEDITOR编辑器属性可以通过修改/ckeditor/config.js文件来控制 //标签过滤默认是开启的,默认会过了<style>样式标签设置为true可关闭过滤config. ...
- Hibernate关于openSession和getCurrentSession的理解
来源(转载):http://blog.csdn.net/woshisap/article/details/7024482 1:getCurrentSession会把Session和当前的线程关联起来, ...
- Java学习笔记之自定义异常
1.自定义异常类: /** * 自定义异常,只要继承继承Exception类或其子类即可 * @author Administrator * */ public class FileException ...
- 查找List中的最大最小值
以下实例演示了如何使用 Collections 类的 max() 和 min() 方法来获取List中最大最小值: import java.util.*; public class Main { pu ...