有没有人知道是否有办法在Python的Logging模块的setlevel()函数中使用变量?
目前我正在使用这个:
Log = logging.getLogger('myLogger')
Log.setLevel(logging.DEBUG)
Run Code Online (Sandbox Code Playgroud)
但我想要这个:
Log = logging.getLogger('myLogger')
levels = {'CRITICAL' : logging.critical,
'ERROR' : logging.error,
'WARNING' : logging.warning,
'INFO' : logging.info,
'DEBUG' : logging.debug
}
level = levels['INFO']
Log.setLevel(level)
Run Code Online (Sandbox Code Playgroud)
但它似乎没有用 - 它只是没有记录任何东西.我正在这样做,以便我可以从单个配置文件中的变量设置一大堆脚本的日志记录级别.如果我在这里遗漏了一些明显的东西,我很抱歉!
任何人都可以帮助将XML文档中的数据转换为关联数组吗?我遇到了问题,因为XML结构是一种3D结构,并且数组更像是2D结构(请原谅我缺乏正确的术语).XML元素有属性,子元素和子元素(但我从来不知道它们的名字),所以我想我会尝试使数组中的键成为每个子/属性名称的串联,并且值等于,嗯,价值.麻烦的是我需要将属性名称和值作为连接数组键的一部分,以使其唯一...
例如:
<Computer id="1">
<OS>
<Name>Linux</Name>
<Age>Older than me</Age>
</OS>
</Computer>
<Computer id="2">
<OS>
<Name>Windows</Name>
<Age>Not so much</Age>
</OS>
</Computer>
Run Code Online (Sandbox Code Playgroud)
理想情况下应该给:
[Computer-id-1-OS-Name] = 'Linux'
[Computer-id-1-OS-Age] = 'Older than me'
[Computer-id-2-OS-Name] = 'Windows'
[Computer-id-2-OS-Age] = 'Not so much'
Run Code Online (Sandbox Code Playgroud)
但我得到了这个结果:
[Computer-id] = '1'
[Computer-OS-Name] = 'Linux'
[Computer-OS-Age] = 'Older than me'
[Computer-id] = '2'
[Computer-OS-Name] = 'Windows'
[Computer-OS-Age] = 'Not so much'
Run Code Online (Sandbox Code Playgroud)
这样[Computer-id]键不是唯一的.我正在使用递归函数来读取值,但我无法弄清楚如何将属性名称和属性值转换为从属键的名称...(顺便说一句,有一个很好的理由这样做看似不合逻辑的任务!)任何帮助将不胜感激......
这是在将XML数据读入多维数组后"展平"XML函数的函数.我不确定我会以正确的方式做到这一点!
function flattenArray ($array, $baseName = NULL)
{
reset($array);
while (list ($key, $value) = each($array)) {
$outKey = $key …
Run Code Online (Sandbox Code Playgroud) 在我们的一些Linux机器上我们遇到了iptables的问题,似乎被加载的规则的剪切数导致vmalloc错误(大小3506176的vmap分配失败:使用vmalloc =增加大小.)出现在dmesg和任何其他规则停止加载.
经过大量研究后,我们将vmalloc大小从128MB增加到512MB并重新启动,这暂时解决了这个问题.虽然64位内核似乎没有这个问题(?).我检查了我的CentOS 6盒子(64位),它有VmallocTotal:34,359,738,367 kB(!).
所以我的问题是,32位PAE内核是否也能解决这个问题?在多个站点上更改内核比操作系统要容易得多......
谢谢,Jak
我有一个Python日志模块的问题,我不确定我是否在这里做了一些愚蠢的事情,但我有两个Python脚本,一个(master.py)调用另一个(slave.py).它们都记录到单独的日志文件,但第二个脚本(slave.py)被称为似乎递归登录!
谁能看到我在这里做错了什么?
这是我的代码:
# master.py
import sys
import logging
import slave
masterLog = logging.getLogger('master')
masterLog.setLevel(logging.DEBUG)
masterHandler = logging.FileHandler('master.log')
formatter = logging.Formatter('%(levelname)s: %(asctime)s %(funcName)s(%(lineno)d) -- %(message)s', datefmt = '%Y-%m-%d %H:%M:%S')
masterHandler.setFormatter(formatter)
masterLog.addHandler(masterHandler)
masterLog.info('This is masterLog running on master.py')
print 'master.py has: ', len(masterLog.handlers), 'handlers'
for i in range(1,6):
masterLog.info('Running slave %s' % i)
slave.runMain()
Run Code Online (Sandbox Code Playgroud)
# slave.py
import sys
import logging
def runMain():
slaveLog = logging.getLogger('slave')
slaveLog.setLevel(logging.DEBUG)
slaveHandler = logging.FileHandler('slave.log')
formatter = logging.Formatter('%(levelname)s: %(asctime)s %(funcName)s(%(lineno)d) -- %(message)s', datefmt = '%Y-%m-%d %H:%M:%S')
slaveHandler.setFormatter(formatter) …
Run Code Online (Sandbox Code Playgroud) 我继承了我的怀疑是一些劣质的SQL表的设计,并作为SQL新手,我挣扎拿出一个查询的加入和连接的数据.
以下是包含数据的两个表:
user_space:
+----+---------+---------+---------+----------+----------+----------+
| id | space_1 | space_2 | space_3 | units_s1 | units_s2 | units_s3 |
+----+---------+---------+---------+----------+----------+----------+
| 1 | 128 | 128 | 6 | 3 | 3 | 4 |
| 2 | 1 | 128 | 2 | 4 | 3 | 4 |
| 3 | 100 | 100 | 100 | 3 | 3 | 3 |
+----+---------+---------+---------+----------+----------+----------+
space_units:
+------+--------------+
| type | description |
+------+--------------+
| 1 | KB |
| …
Run Code Online (Sandbox Code Playgroud)