序文 この記事は主に Linux C でのログ出力コード テンプレートに関する関連コンテンツを紹介し、参考と学習のために共有します。詳細な紹介を見てみましょう。 テンプレート テンプレートは、log.c と log.h の 2 つのファイルに分かれています。 ログ.c /** ログ.c **/ #include <unistd.h> #include "log.h" // ログ ファイル パス #define filepath "./ps_com_log.log" //時間を設定する static char * settime(char * time_s){ time_t タイマー = time(NULL); strftime(time_s, 20, "%Y-%m-%d %H:%M:%S",localtime(&timer)); time_s を返します。 } /* *印刷* */ 静的 int PrintfLog(char * logText, char * 文字列){ ファイル *fd = NULL; 文字s[1024]; 文字tmp[256]; //append メソッドを使用してファイルを開きます fd = fopen(filepath,"a+"); if(fd == NULL){ -1 を返します。 } memset(s, 0, sizeof(s)); メモリセット(tmp, 0, sizeof(tmp)); sprintf(tmp, "*****[pid=%d]:[", getpid()); strcpy(s, tmp); メモリセット(tmp, 0, sizeof(tmp)); 時刻を設定します。 strcat(s, tmp); strcat(s, "]*****"); fprintf(fd, "%s", s); fprintf(fd, "*[%s]*****:\n",ログテキスト); fprintf(fd, "%s\n",文字列); fd をクローズします。 } /* *ログ書き込み* */ void LogWrite(char *logText,char *文字列) { //[マルチスレッドをサポートするにはロックが必要です] pthread_mutex_lock(&mutex_log); //ロック。 //ログ情報を印刷 PrintfLog(logText, string); //[マルチスレッドをサポートするにはロックが必要です] pthread_mutex_unlock(&mutex_log); //ロックを解除します。 } ログ.h #ifndef __LOG_H__ # __LOG_H__ を定義します #include <stdio.h> #include <文字列.h> #include <time.h> void LogWrite(char * logText,char *文字列); #endif /* __LOG_H__ */ テストファイル ログ出力機能ができたので、簡単なテストをしてみましょう。 #include "stdio.h" #include "log.h" int main(int argv,char**argc){ printf("テスト\n"); LogWrite("INFO","Hello World!"); LogWrite("エラー","Hello World!"); LogWrite("mint","Hello World!"); LogWrite("iout","Hallo World!"); 0を返します。 } 上記のコードは非常に単純なので、詳細には説明しません。 実行結果:
要約する 上記はこの記事の全内容です。この記事の内容が皆さんの勉強や仕事に一定の参考学習価値を持つことを願っています。ご質問があれば、メッセージを残してコミュニケーションしてください。123WORDPRESS.COM を応援していただきありがとうございます。 以下もご興味があるかもしれません:
|
<<: Webpackを使用して複数ページのプログラムを構築するための実装手順
>>: WeChatアプレットは水平および垂直スクロールを実現
スーパーバイザー紹介Supervisor は、Python で開発されたクライアント/サーバー サー...
インターネット経済の継続的な発展に伴い、インターネット上の専門ウェブサイト、公共サービスウェブサイト...
トランザクションは、論理的な操作のグループです。この操作グループを構成する各ユニットは、成功するか失...
グリッドシステムの形成1692年、新しく即位したフランス国王ルイ14世は、フランスの印刷技術のレベル...
開発中にこのような問題に遭遇しましたビデオ視聴記録が 100 に更新されると、視聴されたことを意味し...
導入圧縮トランスポート プロトコル、圧縮列ソリューション、圧縮テーブル ソリューションなど、MySQ...
目次序文導入ライブ使いやすいルートスコープマウント要素の指定ライフサイクルコンポーネントグローバル状...
概要オンラインサービスへのアクセス中に 500 または 502 エラーが発生した場合、緊急処理とトラ...
Ubuntu が今日のデスクトップ ユーザーの間で最も人気のある Linux オペレーティング シス...
目次序文1. ssコマンド2. Zabbix監視マシンの全体的なソケットステータス2.1. スクリプ...
LAN 内のマシンは外部ネットワークにアクセスできますが、外部ネットワークは内部ネットワークにアクセ...
目次01. リスナーウォッチ(1)機能(2)特性と方法(3)監視対象(4)リスニングアレイ02. 計...
Windows Server 2012 と Windows Server 2008 では、デスクトッ...
イメージは、GitHub と同様に Docker パブリック リポジトリに直接簡単にプッシュできます...
Docker コンテナは、起動時に、たとえば ssh または apache デーモン サービスなどの...