Seo tools

Neo Inspiration

  • Search

    • About Me

      • inspi 改め
        jakk@webアーキテクト(自称)
        php,javascript,seoなど
        得意技は extract();



  • Categories

  • Ranking

  • Comments

  • Others


    • track feed   |
  • リファラとかアクセスログを取得

    本当は $this->log() で書きたかったんだけど
    これ、error か debug しか今使えないんですよね。
    object.php のここ参照

    switch($type) {
    case LOG_DEBUG:
    return $this->_log->write(’debug’, $msg);
    break;
    default:
    return $this->_log->write(’error’, $msg);
    break;
    }

    なので、書き出しのとこだけ頂いて自分で作りました。

    以下コピって保存

    以下のクラスを accesslogs.php として /app/vendors/ に保存

    class AccessLogs{
    function write_log() {
    $msg = date(’Y-m-d H:i:s’).”,”.env(’REQUEST_URI’).”,”.env(’HTTP_REFERER’).”,”.env(’HTTP_USER_AGENT’).”,”.env(’REMOTE_ADDR’).”\n”;

    $filename = LOGS.’accesslogs/’.date(’Ymd’).’.log’;
    $log = new File($filename);
    $log->append($msg);

    return true;
    }
    }

    app_controller に書き足し

    /app/ になければ cake フォルダからコピってこれを書き足して保存でOK

    vendor(’accesslogs’);

    class AppController extends Controller{

    $this->access = new AccessLogs();
    $this->access->write_log();

    }

    ログフォルダ作成

    ログを格納するフォルダを作るだけです。

    cake/app/tmp/logs/

    ここに accesslogs というフォルダを作って書き込み権限を与える。

    おしまい

    これでどの controller にアクセスされても、日時と、
    REQUEST_URI,HTTP_REFERER,HTTP_USER_AGENT,REMOTE_ADDR
    を cake/app/tmp/logs/accesslogs 書き出してくれます。


    Leave a Reply

    2009/01/07 01:14:05