2008-12-15 6 views
1

Je cherche à déterminer à partir d'une grande base de code, quels fichiers sont réellement utilisés sur une période de temps. Je dois savoir sur les pages CFM et CFC, ainsi que d'autres fichiers inclus CFM etc.Comment puis-je enregistrer * tous * les scripts ColdFusion et les CFC utilisés?

Je sais que je peux obtenir une de cette information à l'aide à l'exploitation forestière application.cfm, ou en utilisant IIS, mais je serai toujours il manque des fichiers d'inclusion et des CFC utilisés.

Existe-t-il un moyen pour que CF enregistre tous les fichiers qu'il exécute? Idéalement, je voudrais garder tout nouveau codage au minimum ou juste au même endroit.

Merci, Ciarán

Répondre

4

Hmmm, je pense que vous devez activer le débogage et de créer un modèle de débogage personnalisé.

Les modèles de débogage sont dans: [coldfusiondir]/wwwroot/WEB-INF/debug

Jetez un oeil sur le code qui classic.cfm utilise pour afficher les modèles à l'écran, puis créer un code similaire qui enregistre chaque modèle exécuter dans un magasin de données approprié. Remarque: il existe un problème de performances (dans CFMX6/7) avec les délais d'exécution des rapports et les diagrammes CFC. Assurez-vous que ce paramètre est désactivé et que tout code associé est supprimé. Enfait, si cela doit être exécuté dans un environnement Live (pas idéal), alors assurez-vous de réduire votre modèle personnalisé au code minimum nécessaire pour effectuer cette journalisation.

+0

C'est la meilleure solution que j'ai entendu jusqu'ici. Cependant, cela demande beaucoup de travail et je peux poster ici quand je parviens à l'implémenter. –

-2

L'approche utilisant les modèles de débogage fonctionnera, mais ne fonctionnera que si le débogage est activé. Si la base du code est importante et que le seul endroit où vous devez collecter ces informations est en ligne, assurez-vous que ces modèles ne génèrent rien.

En outre, vos appels CFC vont ralentir un peu. Soyez très prudent de voir comment cela détruit vos serveurs.

Personnellement, je voudrais simplement mettre à jour une structure de niveau serveur avec rien de plus que le nom de fichier. Ces deux lignes dans Application.cfc ou Application.cfm peuvent simplement le faire. Ensuite, il suffit d'avoir un morceau de code séparé qui vide le code.

<cfoutput><code>#structKeyList(server.st_FileLog,chr(13))#</code></cfoutput> 
+1

Application.cfm/c s'exécute une fois par requête, c'est-à-dire qu'elle ne s'exécute pas pour les fichiers accessibles via cfinclude/cfobject. –

+0

Oui, le problème une fois par demande est le gros inconvénient avec cela. Je serais bien si vous pouviez activer ce type de connexion dans CF Admin pendant quelques heures, puis analyser votre fichier journal par la suite? Peut-être dans CF 9 :) –

Questions connexes