Advertisement
Atheuz

avidal logging example

Jun 13th, 2011 (edited)
209
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.38 KB | None | 0 0
  1. $ cat logging.conf for_avidal.py log.log | pastebin -n "avidal logging example"
  2.  
  3. logging.conf:
  4.  
  5. [loggers]
  6. keys=root,touch,normal
  7.  
  8. [handlers]
  9. keys=hdlr
  10.  
  11. [formatters]
  12. keys=form01
  13.  
  14. [logger_root]
  15. level=NOTSET
  16. handlers=hdlr
  17.  
  18. [logger_touch]
  19. level=INFO
  20. handlers=hdlr
  21. propagate=1
  22. qualname=compiler.parser
  23.  
  24. [logger_normal]
  25. level=INFO
  26. handlers=hdlr
  27. propagate=1
  28. qualname=compiler.parser
  29.  
  30. [handler_hdlr]
  31. class=FileHandler
  32. level=NOTSET
  33. formatter=form01
  34. args=('log.log','a')
  35.  
  36. [formatter_form01]
  37. format=%(asctime)s - %(levelname)s - %(message)s
  38. datefmt=
  39. class=logging.Formatter
  40.  
  41.  
  42. for_avidal.py:
  43.  
  44. import os
  45. import argparse
  46. import logging
  47. import logging.config
  48.  
  49. logging.config.fileConfig('logging.conf')
  50. logger = logging.getLogger('touch')
  51.  
  52. def touch(x):
  53. dir_list = os.listdir(x)
  54. for f in dir_list:
  55. working_dir = os.path.join(x, f)
  56. if os.path.isfile(os.path.join(x, f)) == True: # Check if item is a file.
  57. with open(working_dir, 'a'):
  58. os.utime(working_dir, None)
  59. s = 'Touched file: %s' % working_dir
  60. logger.info(s)
  61. print s
  62. elif os.path.isdir(os.path.join(x, f)) == True: # Check if item is a directory.
  63. os.utime(working_dir, None)
  64. s = 'Touched directory: %s' % working_dir
  65. logger.info(s)
  66. print s
  67. else: # Checks if item is something else.
  68. os.utime(working_dir, None)
  69. s = 'Touched something: %s' % working_dir
  70. logger.info(s)
  71. print s
  72. logger.info('Done.')
  73. print 'Done.'
  74.  
  75. def main():
  76. parser = argparse.ArgumentParser()
  77. parser.add_argument('-p', '--path', action='store', dest='p', type=str,
  78. default=None, help='Set path.')
  79. parser.add_argument('-fp', action='store', dest='fp', type=str, default=None,
  80. help="Set file with paths to touch.")
  81. args = parser.parse_args()
  82. p = args.p
  83. fp = args.fp
  84.  
  85. if p and not fp:
  86. touch(p)
  87. if fp and not p:
  88. f = open(fp, 'r').readlines()
  89. f = [x.strip() for x in f if len(x) > 1]
  90. for i in f:
  91. touch(i)
  92. else:
  93. pass
  94.  
  95. if __name__ == '__main__':
  96. main()
  97.  
  98.  
  99. log.log:
  100.  
  101. 2011-03-17 02:28:49,914 - INFO - Touched file: J:\Users\xxx\Desktop\Legend of Galactic Heroes\LOGH Episode 01(DVD) - Central Anime(3a80cd00).avi
  102. ...
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement