Winston: рддрд┐рдерд┐ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд▓реЙрдЧ рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝рд╛рдЗрд▓ рдкрд░рд┐рд╡рд╣рди рдХреА рдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╝реЗрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 29 рдордИ 2011  ┬╖  12рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: winstonjs/winston

@indexzero -

рдлрд╝рд╛рдЗрд▓ рдкрд░рд┐рд╡рд╣рди рдореЗрдВ рд╡реИрдХрд▓реНрдкрд┐рдХ API рдкреИрд░рд╛рдореАрдЯрд░ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдк рдХреИрд╕рд╛ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВрдЧреЗ рддрд╛рдХрд┐ рдпрд╣ рджрд┐рдирд╛рдВрдХ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░ рд╕рдХреЗ? рд╡рд┐рдЪрд╛рд░ рдпрд╣ рд╣реЛрдЧрд╛ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдирдП рджрд┐рди рдкрд░, рдПрдХ рдирдИ рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдИ рдЬрд╛рдПрдЧреА рдФрд░ рд╡рд┐рдВрд╕реНрдЯрди рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдпрд╣ рд╕рдм рд╕рдВрднрд╛рд▓ рд▓реЗрдЧреА / рддрд╛рд░реАрдЦ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХреМрди рд╕реА рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓ рд▓рд┐рдЦрдиреА рд╣реИред

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдЗрд╕ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╛рдирдХ рдЙрдкрдХрд░рдг рд╣реЛрдиреЗ рдкрд░ рд╡рд┐рдВрд╕реНрдЯрди рдХреЛрдб рдХреЛ рдЬрдЯрд┐рд▓ рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ: Logrotate (http://linuxcommand.org/man_pages/logrotate8.html)

рд╕рднреА 12 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдЗрд╕рдХреЗ рд▓рд┐рдП рдкреИрдЪ рдЕрдиреБрд░реЛрдз рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдВрдЧреЗ

рдардВрдбрд╛! рдПрдкреАрдЖрдИ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕реБрдЭрд╛рд╡? рдореИрдВ рдХреБрдЫ рдРрд╕рд╛ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛:

           // Specify path option and default to spanning by day ( 24 hours in each file )
           new (winston.transports.File)({ path: './logs' })

рд▓реЗрдХрд┐рди рдХрд╕реНрдЯрдо рджрд┐рдирд╛рдВрдХ/рд╕рдордп рдлрд╝рд┐рд▓реНрдЯрд░ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдореЗрдВ рдХреБрдЫ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред

рдЗрд╕ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╛рдирдХ рдЙрдкрдХрд░рдг рд╣реЛрдиреЗ рдкрд░ рд╡рд┐рдВрд╕реНрдЯрди рдХреЛрдб рдХреЛ рдЬрдЯрд┐рд▓ рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ: Logrotate (http://linuxcommand.org/man_pages/logrotate8.html)

@indexzero рдХреНрдпрд╛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдкреИрдЪ рдЕрднреА рднреА рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реИ? рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рд╡рд┐рдХрд▓реНрдк рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рд╡рд┐рдХрд▓реНрдк рдЬреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реВрдВред

рдпрд╣ рдкреНрд░рддреНрдпреЗрдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд▓реЙрдЧ рд░реЛрдЯреЗрд╢рди рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рдбреЗрдореЙрди рдХрд╛ рдХрд╛рд░реНрдп рдирд╣реАрдВ рд╣реИред рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд▓реЙрдЧрд░реЛрдЯреЗрдЯ рдЬреИрд╕реЗ рдЙрдкрдХрд░рдг рд╣реИрдВ, рдЬреИрд╕реЗ

@cemuzunlar @Dieterbe

рдореИрдВ рд╕рд╣рдордд рд╣реВрдВ, рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ, рдпрд╣ рд╡рд┐рдВрд╕реНрдЯрди рдХреА рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реЛрдЧреА, рд▓реЗрдХрд┐рди

  • рд╡рд┐рдВрд╕реНрдЯрди рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдЪрд▓рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд▓реЙрдЧрд░реЛрдЯреЗрдЯ рдирд╣реАрдВ рд╣реИ, рд╡рд┐рднрд┐рдиреНрди рдмреНрд▓реЙрдЧреЛрдВ рдкрд░ рдХрдИ (рдХрдордЬреЛрд░ рджрд┐рдЦрдиреЗ рд╡рд╛рд▓реЗ) рд╕рд░рд▓ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреЗ рдмрд╛рд╡рдЬреВрдж (рдФрд░ рд╕рд╛рдЗрдмрд░рд╡рд┐рди + рдПрдХ рд╕реНрд╡-рд╕рдВрдХрд▓рд┐рдд рд▓реЙрдЧрд░реЛрдЯреЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕реБрдЭрд╛рд╡, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рдЖрдзрд╛рд░ рдкрд░ рднреА рд╕рдВрднрд╡ рд╣реЛрдЧрд╛, рдпрд╣ рдорд╛рдирддреЗ рд╣реБрдП рд╡рд╣ рд╡рд┐рдВрд╕реНрдЯрди рдлрд╝рд╛рдЗрд▓ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЦреБрд▓рд╛ рд░рдЦрддрд╛ рд╣реИ, рдЬреЛ рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдЙрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рдЖрдк рдЬреЛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЙрд╕реЗ рдЧрдВрднреАрд░ рд░реВрдк рд╕реЗ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд░рддрд╛ рд╣реИ)
  • рд╡рд┐рдВрд╕реНрдЯрди рдХрд╛ рдлрд╝рд╛рдЗрд▓ рдкрд░рд┐рд╡рд╣рди рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд▓реЙрдЧ рд░реЛрдЯреЗрд╢рди рдХрд░рддрд╛ рд╣реИ, рдХреЗрд╡рд▓ рдпрд╣ рдлрд╝рд╛рдЗрд▓ рдЖрдХрд╛рд░ рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реЛрддрд╛ рд╣реИ, рджрд┐рдирд╛рдВрдХ рдирд╣реАрдВред рдФрд░ рдпрд╣ рдкреБрд░рд╛рдиреА рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рднреА рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╕рднреА рдмреБрдирд┐рдпрд╛рджреА рд▓реЙрдЧ рд░реЛрдЯреЗрд╢рди рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╣реИ

рд╕рдордЭрд╛...
рдЬрд╝реЛрд░ рд╕реЗ рд╕реЛрдЪрдирд╛: рд▓реЙрдЧ рд░реЛрдЯреЗрд╢рди рд▓реЙрдЬрд┐рдХ рдХреЛ рдПрдХ рдЕрд▓рдЧ рдиреЛрдб рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдВ рд▓реЗ рдЬрд╛рдирд╛, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдПрдХ рдкреБрди: рдкреНрд░рдпреЛрдЬреНрдп рд╕рд░рд▓ рд▓реЙрдЧрд░реЛрдЯреЗрдЯ рдХреНрд▓реЛрди рд╣реИ рдЬреЛ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

++1

рдЬрдмрдХрд┐ рдореИрдВ рднреА рд▓реЙрдЧрд░реЛрдЯреЗрдЯ рдХрд╛ рд╣рд┐рдорд╛рдпрддреА рд╣реВрдВ, рдпрд╣ рдЕрдХреЗрд▓реЗ рдЕрдкрдирд╛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред Logrotate рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдпрд╣ рдмрддрд╛рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЙрдирдХреЗ рд▓реЙрдЧ рдХреЛ рдлреНрд▓рд╢ рдХрд░рдиреЗ рдФрд░ рдмрдВрдж рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реИред

рдлрд╝рд╛рдЗрд▓ рдЯреНрд░рд╛рдВрд╕рдкреЛрд░реНрдЯ рдореЗрдВ рдПрдХ _createStream.checkFile.createAndFlush рдлрд╝рдВрдХреНрд╢рди рд╣реИ рдЬреЛ рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдЙрдкрдпреБрдХреНрдд рдЪреАрдЬреЗрдВ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдПред рд▓реЙрдЧрд░реЛрдЯреЗрдЯ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЕрдкрдирд╛ рдиреЛрдб рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЯреНрд░реИрдк SIGHUP рд░рдЦреЗрдВ рдФрд░ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдПрдХреНрд╕реЗрд╕ рдХрд░реЗрдВред рдореЗрд░реЗ рдкрд╛рд╕ рдХреЛрдб рдкреЛрд╕реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЗрд░реЗ рдбреЗрдЬреЙрдм рд╕реЗ рдкрд╣рд▓реЗ рд╕рдордп рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЖрдЬ рд░рд╛рдд рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ рдФрд░ рдЕрдкрдиреЗ рдкрд░рд┐рдгрд╛рдо рдкреЛрд╕реНрдЯ рдХрд░реВрдВрдЧрд╛ред

рдЗрд╕ рддрд░рд╣ рд╕реЗ SIGHUP рдХрд╛ рдЬрд╡рд╛рдм рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рд╡рд╣рди рдпреЛрдЧреНрдп рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдлрд┐рд░ рдЖрдк рд╡рд┐рдВрдбреЛрдЬрд╝ (рдиреЛрдб рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдпрд╛ рдЕрдиреНрдп рдЬрд╛рджреВ) рдкрд░ рдЬреЛ рднреА рд▓реЙрдЧ рд░реЛрдЯреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЙрд╕реЗ рдкрд╛рдардХ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрднреНрдпрд╛рд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдорд╛рдорд▓реЗ рдореЗрдВ рдХрд┐рд╕реА рдФрд░ рдХреЛ рдЗрд╕рдХреА рддрд▓рд╛рд╢ рд╣реИ:

рдЯрд┐рдк рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, @pccowboyред рдореИрдВ рд▓реЛрдЧрд░реЛрдЯреЗрдЯ рдХрд╛ рднреА рдмрдбрд╝рд╛ рд╣рд┐рдорд╛рдпрддреА рд╣реВрдВред рдореИрдВ рдиреЛрдб.рдЬреЗрдПрд╕ рд╕реЗрд╡рд╛ (рдпрд╛рдиреА рд╡рд┐рдВрд╕реНрдЯрди рдлрд╝рд╛рдЗрд▓ рдореИрдХреНрд╕рд╕рд╛рдЗрдЬ, рдЖрджрд┐) рдХреЗ рд▓рд┐рдП рдПрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдирд┐рдЪреНрдЫреБрдХ рд╣реВрдВ рдФрд░ рдЕрдиреНрдп рд╕реЗрд╡рд╛рдУрдВ (nginx, redis, рдЖрджрд┐) рдХреЗ рд▓рд┐рдП рджреВрд╕рд░рд╛ (рд▓реЙрдЧрд░реЛрдЯреЗрдЯ) рдФрд░ рдореЗрд░реЗ рд╕рднреА рд▓реЙрдЧрдлрд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рд▓реЙрдЧрд░реЛрдЯреЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛ред рдореИрдВрдиреЗ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдПрдХ рд╕рд╛рде рд░рдЦрд╛ рд╣реИ рдЬреЛ рдПрдЪрдпреВрдкреА рд╕рдВрдХреЗрддреЛрдВ рдХреЛ рд╕реБрдиреЗрдЧрд╛ рдФрд░ рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓ рдкреЛрд╕реНрдЯрд░реЛрдЯреЗрдЯ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓ рджреЗрдЧрд╛ред

рдЕрдЧрд░ рдореБрдЭреЗ рдореМрдХрд╛ рдорд┐рд▓рддрд╛ рд╣реИ, рддреЛ рдореИрдВ рдЗрд╕реЗ рдХреНрд▓реАрдирд░ рддрд░реАрдХреЗ рд╕реЗ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ (рдпрд╛рдиреА, рдлрд╛рдЗрд▓ рдЯреНрд░рд╛рдВрд╕рдкреЛрд░реНрдЯ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ) рдФрд░ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдмрдирд╛рдПрдВред

https://gist.github.com/suprememoocow/5133080

#205 рджреНрд╡рд╛рд░рд╛ рддрдп рдХрд┐рдпрд╛ рдЧрдпрд╛ред

рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛!

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕