2011-09-28 6 views
5

Joomlaプラットフォーム11で構築された新しいJoomla 1.7システムで再生しています。以前のJoomlaのバージョンのすべてのログコードは機能しなくなりました(ログエントリを作成しているようですが、不適切な構文なので、メッセージは空白です)。Joomlaプラットフォームのログイン11 JLog

JLogの新しいバージョンの正しい構文を知っている人はいますか?ここに私が

$log = &JLog::getInstance('test.log.php'); 
$log->addEntry(array('COMMENT' => 'A test Logging message')); 

code--既存のですこれは、ログファイルが作成されますが、実際のログエントリは次のようになります。私はJoomlaのドキュメントやウェブを検索しないと見つから例のき

#<?php die('Forbidden.'); ?> 
#Date: 2011-08-08 16:59:42 UTC 
#Software: Joomla Platform 11.1 Stable+Modified [ Ember ] 01-Jun-2011 06:00 GMT 

#Fields: date time priority clientip category message 
2011-08-08 16:59:42 INFO 127.0.0.1 - 

このクラスの使い方

ありがとうございます!

+0

、彼らがexistiを保持していることが表示されます後方互換性のためのJoomla 1.5ロギング機能しかし何らかの理由で、すべてのコメント「COMMENT」が機能しなくなりました。「コメント」を使用する必要があります – julio

答えて

8

はい、ロギングは実際のJoomla 1.7で少し変更:

// Include the JLog class. 
jimport('joomla.log.log'); 

// Add the logger. 
JLog::addLogger(
    // Pass an array of configuration options 
    array(
      // Set the name of the log file 
      'text_file' => 'test.log.php', 
      // (optional) you can change the directory 
      'text_file_path' => 'somewhere/logs' 
    ) 
); 

// start logging... 
JLog::add('Starting to log'); 
+0

@ hbit--ありがとう!それはまさに私が必要としていたものです。 – julio

0

@hbitのTHXはlot..Iはこのように固定され、それが動作し..

が、私は関数として作成されました。..

<?php 
function logWrite($level, $values, $file='%s.php',$path='',$showOnTop=0, 
    $option='',$component=''){ 
/**** 
jlog Joomla 3.4 
created by:gundambison (2015.04.26). 
THX: [email protected] 
****/ 
    jimport('joomla.log.log'); 
    $level=strtoupper($level); 
//You can change this com_name 
    $component= $component==''? 'com_gundambison': $component; 
    $date= date("Ymd"); 
    $filename= sprintf($file, $date); 
    $format= $option=='' ?"{TIME}\t{CLIENTIP}\t{CATEGORY}\t{MESSAGE}": $option; 

// create options and text 
    $txt = is_array($values)? json_encode($values): $values; 
    $options = array('text_file' => $filename,'text_entry_format'=>$format); 
    $options['text_file_path']=$path==''?'logs': $path; 
    JLog::addLogger ($options); 
/* 
if you want the error to show in your page. 
*/ 
    if($showOnTop==1){ 
     JLog::add("$level\t$txt"); 
    }else{ 
     JLog::add("$level\t$txt",$level,$component); 
    } 
} 
/**** 
result: 
    14:28:39 ::1 com_whatever ALERT task:error 
****/ 
?> 

希望の情報を探している人のためにこのヘルプ

関連する問題