| ±¸¹® ºÐ¼® :: ¾×¼¼¼¸® PARSE :: AccessLogEntry´Â Apache Access ·Î±×ÀÇ ÇÑ ÁÙÀ» ±¸¹® ºÐ¼® ÇÒ ¼ö ÀÖ½À´Ï´Ù. |
Áö±Ý ´Ù¿î·Îµå |
±¸¹® ºÐ¼® :: ¾×¼¼¼¸® ¼øÀ§ ¹× ¿ä¾à
- ƯÇã:
- Perl Artistic License
- °Ô½ÃÀÚ À¥»çÀÌÆ®:
- http://search.cpan.org/~mslagle/Silly-Krad-0.03/Krad.pm
±¸¹® ºÐ¼® :: ¾×¼¼¼¸® ű×
±¸¹® ºÐ¼® :: ¾×¼¼¼¸® ¼³¸í
Parse :: AccessLogEntry´Â Apache Access ·Î±×ÀÇ ÇÑ ÁÙÀ» ±¸¹® ºÐ¼® ÇÒ ¼ö ÀÖ½À´Ï´Ù. Parse :: AccessLogEntry´Â Apache Access Log.SynoPSIS »ç¿ë Parse :: AccessLogEntry¸¦ »ç¿ëÇÕ´Ï´Ù. MY $ P = PARSE :: AccessLogEntry :: New (); # $ LINEÀº ¾×¼¼½º ·Î±×ÀÇ ÇÑ ÁÙÀ» Æ÷ÇÔÇÏ´Â ¹®ÀÚ¿ÀÔ´Ï´Ù. MY $ hashref = $ P-> PARSE ( "$ line"); Apache :: ParseLog¿Í °°Àº À¥ º¸°í¼ »ý¼º¿¡ ÁßÁ¡À» µÓ´Ï´Ù. ¶ÇÇÑ À¥¿¡ ¿©·¯ °÷ÀÌ ÀÖÀ¸¸ç, ÀڽŸ¸ÀÇ ÁÙÀ» ÆĽÌÇÏ´Â µ¥ ÇÊ¿äÇÑ Á¤±Ô½ÄÀ» ãÀ» ¼ö ÀÖ½À´Ï´Ù. ÀÌ°ÍÀº ´Ü¼øÈ÷ ±× Áß Çϳª¸¦ È¥¶õ½º·´°ÔÇÏ°í ½ÍÁö ¾ÊÀº »ç¿ëÀÚ¿¡°Ô´Â ´Ü¼øÈ÷ ÄÚµå ¿¡¼ÀÌ ±â´ÉÀ» ±¸ÇöÇÒ ¼öÀÖ´Â ºü¸¥ ¹æ¹ýÀ» °®±â¸¦ ¿øÇÕ´Ï´Ù.ÀÌ ¸ðµâÀº ¸®ÆÛ·¯°¡ Æ÷ÇÔ µÈ °áÇÕ µÈ ·Î±× ÆÄÀÏ Çü½ÄÀ» Æ÷ÇÔÇÏ¿© Ç¥ÁØ Apache Access_log Çü½ÄÀ» ó¸®ÇÕ´Ï´Ù. ¹× »ç¿ëÀÚ ¿¡ÀÌÀüÆ®. ¹Ýȯ ¾ç½Ä Parse () È£ÃâÀº ÇÙ½É À̸§ÀÌÀÖ´Â ÁÖ¿ä À̸§ÀÌÀÖ´Â Çؽà resÀÔ´Ï´Ù. $ hashref -> {host} ¿äûÀÇ Å¬¶óÀ̾ðÆ® IP $ hashref -> {»ç¿ëÀÚ} »ç¿ëÀÚ°¡ ·Î±×ÀÎ ÇÑ ( "-"¾øÀ½) $ hashref -> {date} ¿äû ³¯Â¥ $ hashref -> {time} ¼¹ö ½Ã°£ $ hashref -> {rtype} ¿äû À¯Çü (Get, Post, etc)¿¡¼ $ hashref -> {diffgmt} ¼¹ö ¿ÀÇÁ¼Â ¿äû (Get, Post, etc) /1.1, etc) $ hashref -> {code} ÄÚµå´Â Apache (200, 304, etc) $ hashref -> {bytes} Ŭ¶óÀ̾ðÆ®¿¡ ¹Ýȯ µÈ ¹ÙÀÌÆ® ¼ö $ hashref -> {reser} ÂüÁ¶} $ hashref -> { ¿¡ÀÌÀüÆ®} user-agentif rfc1413 Çʵ尡 ´©¶ôµÇ¾úÀ½À» ¾Ë¾Æ ³Â½À´Ï´Ù. ³ª´Â ´©±º°¡°¡ ±×°ÍÀ» »ç¿ëÇÏÁö ¾Ê±â ¶§¹®¿¡ °ð ÀÌ°ÍÀ» °ð Æ÷ÇÔ½ÃÅ°Áö ¾Ê½À´Ï´Ù. ÀÌ°ÍÀº ²Ï Á¶±â ¸±¸®½ºÀÔ´Ï´Ù. ±×·¯³ªÀÌ ÄÚµåÀÇ ¸¹Àº ºÎºÐÀÌ ´Ù¸¥ Ãâó¿¡¼ µé¾î ¿Ã·Á Á³±â ¶§¹®¿¡ ²Ï ½Å·ÚÇÒ ¼ö ÀÖ¾î¾ßÇÕ´Ï´Ù. ¾Æ¹«µµ ´õ °·ÂÇÏ°Ô ¸¸µå´Â ¹æ¹ý¿¡ ´ëÇÑ ¾ÆÀ̵ð¾î°¡ÀÖ´Â °æ¿ì ¾Ë·ÁÁÖ¼¼¿ä. ¿ä±¸ »çÇ× : ¡¤ Perl.
±¸¹® ºÐ¼® :: ¾×¼¼¼¸® °ü·Ã ¼ÒÇÁÆ®¿þ¾î