Is there a way to overwrite log files in python 2.x












10















I'm using python2.x logging module, like,



logging.basicConfig(format='%(asctime)s %(message)s',
datefmt='%m/%d/%Y %I:%M:%S %p',
filename='logs.log',
level=logging.INFO)


I want my program to overwrite logs.log file for each execution of the script, currently it just appends to old logs.
I know the below code will overwrite, but if there is a way to do it via logging config, it'll look better.



with open("logs.log", 'w') as file:
pass









share|improve this question



























    10















    I'm using python2.x logging module, like,



    logging.basicConfig(format='%(asctime)s %(message)s',
    datefmt='%m/%d/%Y %I:%M:%S %p',
    filename='logs.log',
    level=logging.INFO)


    I want my program to overwrite logs.log file for each execution of the script, currently it just appends to old logs.
    I know the below code will overwrite, but if there is a way to do it via logging config, it'll look better.



    with open("logs.log", 'w') as file:
    pass









    share|improve this question

























      10












      10








      10


      1






      I'm using python2.x logging module, like,



      logging.basicConfig(format='%(asctime)s %(message)s',
      datefmt='%m/%d/%Y %I:%M:%S %p',
      filename='logs.log',
      level=logging.INFO)


      I want my program to overwrite logs.log file for each execution of the script, currently it just appends to old logs.
      I know the below code will overwrite, but if there is a way to do it via logging config, it'll look better.



      with open("logs.log", 'w') as file:
      pass









      share|improve this question














      I'm using python2.x logging module, like,



      logging.basicConfig(format='%(asctime)s %(message)s',
      datefmt='%m/%d/%Y %I:%M:%S %p',
      filename='logs.log',
      level=logging.INFO)


      I want my program to overwrite logs.log file for each execution of the script, currently it just appends to old logs.
      I know the below code will overwrite, but if there is a way to do it via logging config, it'll look better.



      with open("logs.log", 'w') as file:
      pass






      python-2.7 logging






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Feb 16 '16 at 21:58









      user3366706user3366706

      62711132




      62711132
























          2 Answers
          2






          active

          oldest

          votes


















          16














          Add the filemode option to basicConfig:



          logging.basicConfig(format='%(asctime)s %(message)s',
          datefmt='%m/%d/%Y %I:%M:%S %p',
          filename='logs.log',
          filemode='w',
          level=logging.INFO)


          From the logging documentation for the basicConfig method (in the big table explaining all options):




          filemode: Specifies the mode to open the file, if filename is specified (if filemode is unspecified, it defaults to ‘a’).







          share|improve this answer


























          • Note that "filemode" is the keyword "mode" if you use DictConfig. Example: ` "handlers": { "file": { "class": "logging.FileHandler", "formatter": "form02", "level": "INFO", "filename": "logs.log", "mode": "w", # Overwrite file if it exists }, }, `

            – Autiwa
            Jul 31 '18 at 10:32



















          1














          Both



          logging.basicConfig(format='%(asctime)s %(message)s',
          datefmt='%m/%d/%Y %I:%M:%S %p',
          filename='logs.log',
          filemode='w',
          level=logging.INFO)


          and



          logging.basicConfig(format='%(asctime)s %(message)s',
          datefmt='%m/%d/%Y %I:%M:%S %p',
          filename='logs.log',
          filemode='w+',
          level=logging.INFO)


          always append in Python 2.7, on both Windows and Linux






          share|improve this answer


























          • I'm also seeing the same behavior in Python 3.6. This just doesn't seem right- I'm passing filemode='w' in all cases.

            – Reddy Kilowatt
            Jan 2 at 22:30












          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f35443817%2fis-there-a-way-to-overwrite-log-files-in-python-2-x%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          2 Answers
          2






          active

          oldest

          votes








          2 Answers
          2






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          16














          Add the filemode option to basicConfig:



          logging.basicConfig(format='%(asctime)s %(message)s',
          datefmt='%m/%d/%Y %I:%M:%S %p',
          filename='logs.log',
          filemode='w',
          level=logging.INFO)


          From the logging documentation for the basicConfig method (in the big table explaining all options):




          filemode: Specifies the mode to open the file, if filename is specified (if filemode is unspecified, it defaults to ‘a’).







          share|improve this answer


























          • Note that "filemode" is the keyword "mode" if you use DictConfig. Example: ` "handlers": { "file": { "class": "logging.FileHandler", "formatter": "form02", "level": "INFO", "filename": "logs.log", "mode": "w", # Overwrite file if it exists }, }, `

            – Autiwa
            Jul 31 '18 at 10:32
















          16














          Add the filemode option to basicConfig:



          logging.basicConfig(format='%(asctime)s %(message)s',
          datefmt='%m/%d/%Y %I:%M:%S %p',
          filename='logs.log',
          filemode='w',
          level=logging.INFO)


          From the logging documentation for the basicConfig method (in the big table explaining all options):




          filemode: Specifies the mode to open the file, if filename is specified (if filemode is unspecified, it defaults to ‘a’).







          share|improve this answer


























          • Note that "filemode" is the keyword "mode" if you use DictConfig. Example: ` "handlers": { "file": { "class": "logging.FileHandler", "formatter": "form02", "level": "INFO", "filename": "logs.log", "mode": "w", # Overwrite file if it exists }, }, `

            – Autiwa
            Jul 31 '18 at 10:32














          16












          16








          16







          Add the filemode option to basicConfig:



          logging.basicConfig(format='%(asctime)s %(message)s',
          datefmt='%m/%d/%Y %I:%M:%S %p',
          filename='logs.log',
          filemode='w',
          level=logging.INFO)


          From the logging documentation for the basicConfig method (in the big table explaining all options):




          filemode: Specifies the mode to open the file, if filename is specified (if filemode is unspecified, it defaults to ‘a’).







          share|improve this answer















          Add the filemode option to basicConfig:



          logging.basicConfig(format='%(asctime)s %(message)s',
          datefmt='%m/%d/%Y %I:%M:%S %p',
          filename='logs.log',
          filemode='w',
          level=logging.INFO)


          From the logging documentation for the basicConfig method (in the big table explaining all options):




          filemode: Specifies the mode to open the file, if filename is specified (if filemode is unspecified, it defaults to ‘a’).








          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited Feb 16 '16 at 22:08

























          answered Feb 16 '16 at 22:03









          SethMMortonSethMMorton

          22.4k94561




          22.4k94561













          • Note that "filemode" is the keyword "mode" if you use DictConfig. Example: ` "handlers": { "file": { "class": "logging.FileHandler", "formatter": "form02", "level": "INFO", "filename": "logs.log", "mode": "w", # Overwrite file if it exists }, }, `

            – Autiwa
            Jul 31 '18 at 10:32



















          • Note that "filemode" is the keyword "mode" if you use DictConfig. Example: ` "handlers": { "file": { "class": "logging.FileHandler", "formatter": "form02", "level": "INFO", "filename": "logs.log", "mode": "w", # Overwrite file if it exists }, }, `

            – Autiwa
            Jul 31 '18 at 10:32

















          Note that "filemode" is the keyword "mode" if you use DictConfig. Example: ` "handlers": { "file": { "class": "logging.FileHandler", "formatter": "form02", "level": "INFO", "filename": "logs.log", "mode": "w", # Overwrite file if it exists }, }, `

          – Autiwa
          Jul 31 '18 at 10:32





          Note that "filemode" is the keyword "mode" if you use DictConfig. Example: ` "handlers": { "file": { "class": "logging.FileHandler", "formatter": "form02", "level": "INFO", "filename": "logs.log", "mode": "w", # Overwrite file if it exists }, }, `

          – Autiwa
          Jul 31 '18 at 10:32













          1














          Both



          logging.basicConfig(format='%(asctime)s %(message)s',
          datefmt='%m/%d/%Y %I:%M:%S %p',
          filename='logs.log',
          filemode='w',
          level=logging.INFO)


          and



          logging.basicConfig(format='%(asctime)s %(message)s',
          datefmt='%m/%d/%Y %I:%M:%S %p',
          filename='logs.log',
          filemode='w+',
          level=logging.INFO)


          always append in Python 2.7, on both Windows and Linux






          share|improve this answer


























          • I'm also seeing the same behavior in Python 3.6. This just doesn't seem right- I'm passing filemode='w' in all cases.

            – Reddy Kilowatt
            Jan 2 at 22:30
















          1














          Both



          logging.basicConfig(format='%(asctime)s %(message)s',
          datefmt='%m/%d/%Y %I:%M:%S %p',
          filename='logs.log',
          filemode='w',
          level=logging.INFO)


          and



          logging.basicConfig(format='%(asctime)s %(message)s',
          datefmt='%m/%d/%Y %I:%M:%S %p',
          filename='logs.log',
          filemode='w+',
          level=logging.INFO)


          always append in Python 2.7, on both Windows and Linux






          share|improve this answer


























          • I'm also seeing the same behavior in Python 3.6. This just doesn't seem right- I'm passing filemode='w' in all cases.

            – Reddy Kilowatt
            Jan 2 at 22:30














          1












          1








          1







          Both



          logging.basicConfig(format='%(asctime)s %(message)s',
          datefmt='%m/%d/%Y %I:%M:%S %p',
          filename='logs.log',
          filemode='w',
          level=logging.INFO)


          and



          logging.basicConfig(format='%(asctime)s %(message)s',
          datefmt='%m/%d/%Y %I:%M:%S %p',
          filename='logs.log',
          filemode='w+',
          level=logging.INFO)


          always append in Python 2.7, on both Windows and Linux






          share|improve this answer















          Both



          logging.basicConfig(format='%(asctime)s %(message)s',
          datefmt='%m/%d/%Y %I:%M:%S %p',
          filename='logs.log',
          filemode='w',
          level=logging.INFO)


          and



          logging.basicConfig(format='%(asctime)s %(message)s',
          datefmt='%m/%d/%Y %I:%M:%S %p',
          filename='logs.log',
          filemode='w+',
          level=logging.INFO)


          always append in Python 2.7, on both Windows and Linux







          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited Jan 2 at 22:32

























          answered Sep 21 '18 at 23:09









          Reddy KilowattReddy Kilowatt

          112




          112













          • I'm also seeing the same behavior in Python 3.6. This just doesn't seem right- I'm passing filemode='w' in all cases.

            – Reddy Kilowatt
            Jan 2 at 22:30



















          • I'm also seeing the same behavior in Python 3.6. This just doesn't seem right- I'm passing filemode='w' in all cases.

            – Reddy Kilowatt
            Jan 2 at 22:30

















          I'm also seeing the same behavior in Python 3.6. This just doesn't seem right- I'm passing filemode='w' in all cases.

          – Reddy Kilowatt
          Jan 2 at 22:30





          I'm also seeing the same behavior in Python 3.6. This just doesn't seem right- I'm passing filemode='w' in all cases.

          – Reddy Kilowatt
          Jan 2 at 22:30


















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f35443817%2fis-there-a-way-to-overwrite-log-files-in-python-2-x%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          MongoDB - Not Authorized To Execute Command

          How to fix TextFormField cause rebuild widget in Flutter

          in spring boot 2.1 many test slices are not allowed anymore due to multiple @BootstrapWith